PAGalaxyLab / YAHFA

Yet Another Hook Framework for ART
GNU General Public License v3.0
1.56k stars 350 forks source link

demoPlugin-debug.apk上传了,奇怪 "java.lang.ClassNotFoundException: lab.galaxy.yahfa.HookInfo" #168

Closed yetnelson closed 2 years ago

yetnelson commented 2 years ago

demoPlugin-debug.apk 解压确实类是存在的,但两部手机调试都是doHookDefault函数里找不到插件HookInfo类

public static void doHookDefault(ClassLoader patchClassLoader, ClassLoader originClassLoader) {
        try {
            Class<?> hookInfoClass = Class.forName("lab.galaxy.yahfa.HookInfo", true, patchClassLoader);
            String[] hookItemNames = (String[]) hookInfoClass.getField("hookItemNames").get(null);
            for (String hookItemName : hookItemNames) {
                doHookItemDefault(patchClassLoader, hookItemName, originClassLoader);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

Debugger Variables

patchClassLoader = {DexClassLoader@10946} "dalvik.system.DexClassLoader[DexPathList[[zip file "/storage/emulated/0/demoPlugin-debug.apk"],nativeLibraryDirectories=[/system/lib]]]"
originClassLoader = {PathClassLoader@10936} "dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/lab.galaxy.yahfa.demoApp-M_FKj-mRWoB--pSB0XkPog==/base.apk"],nativeLibraryDirectories=[/data/app/lab.galaxy.yahfa.demoApp-M_FKj-mRWoB--pSB0XkPog==/lib/arm, /data/app/lab.galaxy.yahfa.demoApp-M_FKj-mRWoB--pSB0XkPog==/base.apk!/lib/armeabi-v7a, /system/lib]]]"
e = {ClassNotFoundException@10951} "java.lang.ClassNotFoundException: lab.galaxy.yahfa.HookInfo"
yetnelson commented 2 years ago

把Plugin里的class放到App里,可以找到。猜测应该是AndroidStudio配置问题,大家都没有遇到此问题就好