找不到符号方法 findAndHookMethod(String,ClassLoader,String,<anonymous XC_MethodHook>)
cannot find symbol method findAndHookMethod(String,ClassLoader,String,<anonymous XC_MethodHook>)
我现在很迷茫。 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 的屏幕截图,其中包含错误:
Image of error
我刚刚开始开发 Xposed 模块(这个应用实际上是 rovo89 的 Red Clock 教程),所以如果这是一些愚蠢的错误,请原谅我。
非常感谢任何帮助。如果您需要更多信息,只需询问!
您在教程中遗漏了这一行:
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
我的猜测是您的 IDE 不小心删除了它。或者,您可以将 findAndHookMethod
的使用更改为 XposedHelpers.findAndHookMethod
.
我现在很迷茫。 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 的屏幕截图,其中包含错误: Image of error
我刚刚开始开发 Xposed 模块(这个应用实际上是 rovo89 的 Red Clock 教程),所以如果这是一些愚蠢的错误,请原谅我。
非常感谢任何帮助。如果您需要更多信息,只需询问!
您在教程中遗漏了这一行:
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
我的猜测是您的 IDE 不小心删除了它。或者,您可以将 findAndHookMethod
的使用更改为 XposedHelpers.findAndHookMethod
.