Вопросы о методе Xposed API int - PullRequest
0 голосов
/ 27 мая 2020

Publi c String class => Успешное подключение

Publi c int class => Ошибка подключения

Button btn;
TextView up;
int count = 0;

public int ButtonClickCount(int a)
{
    return a++;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    System.out.println("test");
    btn = (Button) findViewById(R.id.btn);
    up = (TextView) findViewById(R.id.up);

    btn.setOnClickListener((new View.OnClickListener(){

        @Override
        public void onClick(View v) {
            up.setText("" + ButtonClickCount(++count));
        }
    }));
}

}

publi c class Перехватчик реализует IXposedHookLoadPackage {

@Override
public void handleLoadPackage(final XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
    /*final ApplicationInfo appinfo = lpparam.appInfo;
    XposedBridge.log(String.valueOf(appinfo));*/

    if (!lpparam.packageName.equals("com.study")) {
        //XposedBridge.log("PackageName Error");
        return;
    } else {
        XposedBridge.log("Loaded app: " + lpparam.packageName);
    }


    findAndHookMethod(
            "com.study.MainActivity",
            lpparam.classLoader,
            "ButtonClickCount",

            new XC_MethodHook() {
                @Override
                protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                    super.beforeHookedMethod(param);
                    XposedBridge.log("before");
                }

                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    super.afterHookedMethod(param);
                    XposedBridge.log("after");
                    param.setResult(100);
                }
            }

    );
}

/*private void findAndHookMethod(String s, ClassLoader classLoader, Class<int[]> integerClass, String randomRange, XC_MethodHook xc_methodHook) {
}*/

}

Почему класс int не подключается? мне нужна помощь

findAndHookMethod(
        "com.study.MainActivity",
        lpparam.classLoader,
        "ButtonClickCount",

этот код является ошибкой .. (NoSuchMethodError)

Если выполняется со следующим кодом, модуль подключения не работает.

findAndHookMethod(
        "com.study.MainActivity",
        lpparam.classLoader,
        "ButtonClickCount",
        int.class,
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...