0

我现在很困惑。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 教程),所以如果这是一些愚蠢的错误,请原谅我。

非常感谢任何帮助。如果您需要更多信息,您需要做的就是询问!

4

1 回答 1

2

您在教程中缺少这一行:

import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;

我的猜测是您的 IDE 意外删除了它。或者,您可以更改对findAndHookMethodto的使用XposedHelpers.findAndHookMethod

于 2017-04-01T01:59:05.827 回答