Shadow icon indicating copy to clipboard operation
Shadow copied to clipboard

SO库应该怎么加载?

Open lizhanqi opened this issue 2 years ago • 2 comments

使用第三方的aar.里面有so 但是打包时候发现插件的apk里面没有so文件.也无法加载完成

lizhanqi avatar Jun 17 '22 08:06 lizhanqi

打包时候发现插件的apk里面没有so文件

Shadow的构建期逻辑只涉及dex中java类的字节码编辑。不会影响apk打包流程中对so文件的操作。建议自查plugin和normal的其他配置区别。

shifujun avatar Jun 17 '22 08:06 shifujun

我在项目源码上增加测试的也是不行的 2022-06-17 16:48:53.132 19529-19529/com.tencent.shadow.sample.host D/SO测试: 加载so错误 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/ysrc/antiva/JniHelper; at com.tencent.shadow.sample.plugin.app.lib.UseCaseApplication.onCreate(UseCaseApplication.java:40) at com.tencent.shadow.core.loader.ShadowPluginLoader.callApplicationOnCreate$realAction(ShadowPluginLoader.kt:124) at com.tencent.shadow.core.loader.ShadowPluginLoader.access$callApplicationOnCreate$realAction(ShadowPluginLoader.kt:43) at com.tencent.shadow.core.loader.ShadowPluginLoader$callApplicationOnCreate$1.run(ShadowPluginLoader.kt:132) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:236) at android.app.ActivityThread.main(ActivityThread.java:8060) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ysrc.antiva.JniHelper" on path: DexPathList[[zip file "/data/user/0/com.tencent.shadow.sample.host/files/ShadowPluginManager/UnpackedPlugin/test-dynamic-manager/70c0aeb424e210ee5e3e854a30eef031/plugin-debug.zip/sample-app-plugin-debug.apk"],nativeLibraryDirectories=[/data/user/0/com.tencent.shadow.sample.host/files/ShadowPluginManager/UnpackedPlugin/test-dynamic-manager/lib/37CD0A69-CAD0-4423-9415-1EEC2D6148F9_lib, /system/lib64, /system/system_ext/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at com.tencent.shadow.core.loader.classloaders.PluginClassLoader.loadClass(PluginClassLoader.kt:79) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at com.tencent.shadow.sample.plugin.app.lib.UseCaseApplication.onCreate(UseCaseApplication.java:40)  at com.tencent.shadow.core.loader.ShadowPluginLoader.callApplicationOnCreate$realAction(ShadowPluginLoader.kt:124)  at com.tencent.shadow.core.loader.ShadowPluginLoader.access$callApplicationOnCreate$realAction(ShadowPluginLoader.kt:43)  at com.tencent.shadow.core.loader.ShadowPluginLoader$callApplicationOnCreate$1.run(ShadowPluginLoader.kt:132)  at android.os.Handler.handleCallback(Handler.java:938)  at android.os.Handler.dispatchMessage(Handler.java:99)  at android.os.Looper.loop(Looper.java:236)  at android.app.ActivityThread.main(ActivityThread.java:8060)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967) 

lizhanqi avatar Jun 17 '22 08:06 lizhanqi