Tencent / Shadow

零反射全动态Android插件框架
BSD 3-Clause "New" or "Revised" License
7.43k stars 1.3k forks source link

无法实例化壳子 #1228

Closed qczgwxg closed 5 months ago

qczgwxg commented 1 year ago

Process: com.tencent.shadow.sample.host, PID: 12981 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.tencent.shadow.sample.host/com.tencent.shadow.sample.runtime.PluginDefaultProxyActivity}: java.lang.ClassNotFoundException: Didn't find class "com.tencent.shadow.sample.runtime.PluginDefaultProxyActivity" on path: DexPathList[[zip file "/data/app/com.tencent.shadow.sample.host-2/base.apk"],nativeLibraryDirectories=[/data/app/com.tencent.shadow.sample.host-2/lib/x86, /system/lib, /vendor/lib]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2581) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2759) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1482) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6190) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:892) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.tencent.shadow.sample.runtime.PluginDefaultProxyActivity" on path: DexPathList[[zip file "/data/app/com.tencent.shadow.sample.host-2/base.apk"],nativeLibraryDirectories=[/data/app/com.tencent.shadow.sample.host-2/lib/x86, /system/lib, /vendor/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:380) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.app.Instrumentation.newActivity(Instrumentation.java:1078) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2571) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2759)  at android.app.ActivityThread.-wrap12(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1482)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:154)  at android.app.ActivityThread.main(ActivityThread.java:6190)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:892)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782) 

### Tasks
jayyuz commented 1 year ago

展示下你启动插件的代码,是不是因为没有同步,导致classloader异常了呢?

wh963572516 commented 7 months ago

我也遇到了,怎麽解決

wh963572516 commented 7 months ago

Process: com.tencent.shadow.sample.host, PID: 12981 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.tencent.shadow.sample.host/com.tencent.shadow.sample.runtime.PluginDefaultProxyActivity}: java.lang.ClassNotFoundException: Didn't find class "com.tencent.shadow.sample.runtime.PluginDefaultProxyActivity" on path: DexPathList[[zip file "/data/app/com.tencent.shadow.sample.host-2/base.apk"],nativeLibraryDirectories=[/data/app/com.tencent.shadow.sample.host-2/lib/x86, /system/lib, /vendor/lib]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2581) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2759) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1482) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6190) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:892) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.tencent.shadow.sample.runtime.PluginDefaultProxyActivity" on path: DexPathList[[zip file "/data/app/com.tencent.shadow.sample.host-2/base.apk"],nativeLibraryDirectories=[/data/app/com.tencent.shadow.sample.host-2/lib/x86, /system/lib, /vendor/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:380) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.app.Instrumentation.newActivity(Instrumentation.java:1078) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2571) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2759)  at android.app.ActivityThread.-wrap12(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1482)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:154)  at android.app.ActivityThread.main(ActivityThread.java:6190)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:892)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782) 

Tasks

Beta Give feedback No tasks being tracked yet.

  1. [ ]

    Options

     * Convert to issue
     * Toggle completion
     * Rename
     * Remove

请参考这个,然后就可以了,在插件启动的时候,换一种start方式 https://github.com/Tencent/Shadow/issues/505