我现在很困惑。Android Studio 可以识别 Xposed API 库中的所有内容,但 findAndHookMethod() 方法除外。
这是我的代码:
package com.tylerr147.xposed.red.clock;
import android.graphics.Color;
import android.widget.TextView;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;
public class XposedHook implements IXposedHookLoadPackage {
public void handleLoadPackage(final LoadPackageParam lpparam) throws Throwable {
if (!lpparam.packageName.equals("com.android.systemui"))
return;
findAndHookMethod("com.android.systemui.statusbar.policy.Clock", lpparam.classLoader, "updateClock", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
TextView tv = (TextView) param.thisObject;
String text = tv.getText().toString();
tv.setText(text + " :)");
tv.setTextColor(Color.RED);
}
});
}
}
唯一的错误是方法 findAndHookMethod(),Android Studio 没有在 Xposed API 库中找到它。
我的 build.gradle 在这里:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.tylerr147.xposed.red.clock"
minSdkVersion 23
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:appcompat-v7:24.2.1'
provided 'de.robv.android.xposed:api:82'
provided 'de.robv.android.xposed:api:82:sources'
}
这是带有错误的 Android Studio 的屏幕截图:错误 图像
我刚刚开始开发 Xposed 模块(这个应用程序实际上是 rovo89 的 Red Clock 教程),所以如果这是一些愚蠢的错误,请原谅我。
非常感谢任何帮助。如果您需要更多信息,您需要做的就是询问!