错误的JNI版本从JNI_OnLoad返回,Android 11崩溃



所以我在项目中使用了dexprotector 9.0.19,它在除Android 11之外的所有Android版本中都能完美运行。我的团队正在使用另一个也使用dexprotector的应用程序,它们的设置完全相同,只是在我的项目中崩溃了。

当试图运行应用程序时,它会立即崩溃,我能得到的所有日志都是:

2021-01-25 17:30:33.025 11812-11812/com.interfacom.toolkit E/AndroidRuntime:致命异常:main流程:com.interfacom.toolkit,PID:111812java.lang.RuntimeException:无法实例化应用程序com.interfacom.toolkit.ProtectedAndroidApplication:com.interfacom.toolkitMessageGuardException_QmFkIEpOSSB2ZXJzaW9uIHJldHVybmVkIGZyb20gSk5JX09uTG9hZCBpbiAiL2RhdGEvdXNlci8wL2NvbS5pbnRLcmZhY29tLrvb22xraXQvYXBwX291dGRleC9saWJkZXhwcm90ZWN0b3IudWo2b3V0LjExodeyLnNvIjogLTEz MTk:在"0"中从JNI_ OnLoad返回错误的JNI版本/data/user/0/com.interfacom.toolkit/app_outdex/libdexprotector.uj6out.11112.so":-1319(RmluZ2VycHJpbnQgMjAxODA5MjQgWysuLisuLl0geDg2Ong4NiayOS8yLjEuMC8IGdvb2dsZS9zZGtfZ3Bob25lX3g4Ni9nZW5lcmljX3g4nl9hcm06MTAvUlBQNC4yMDA0MDkuMDE1LzY0NTUzMTE6dXNlci9yZWxlYXxNlLWtleXM=)在android.app.LoadedApk.makeApplication(LoadedApk.java:1216)在android.app.ActivityThread.handleBindApplication(ActivityThreads.java:6533)在android.app.ActivityThread.access$1300(ActivityThreads.java:231)在android.app.ActivityThread$H.handleMessage(ActivityThreads.java:1887)在android.os.Handler.dispatchMessage(Handler.java:106)在android.os.Looper.loop(Looper.java:223)在android.app.ActivityThread.main(ActivityThreads.java:7478)位于java.lang.reflect.Method.ioke(本机方法)网址:com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)网址:com.android.internal.os.ZygoteInit.main(ZygoteNit.java:941)由以下原因引起:com.interfacom.toolkit.MessageGuardException_QmFkIEpOSSB2ZXJzaW9uIHJldHVybmVkIGZyb20gSk5JX09uTG9hZCBpbiAiL2RhdGEvdXNlci8wL2NvbS5pbnRLcmZhY29tLrvb2xraQvYXBwX291dGRleC9saWJkZXhwcm90ZWN0b3IudWo2b3V0LjExODEyLnNvIjogLTEzMTk:"中的JNI_OnLoad返回了错误的JNI版本/data/user/0/com.interfacom.toolkit/app_outdex/libdexprotector.uj6out.11112.so":-1319(RmluZ2VycHJpbnQgMjAxODA5MjQgWysuLisuLl0geDg2Ong4NiayOS8yLjEuMC8IGdvb2dsZS9zZGtfZ3Bob25lX3g4Ni9nZW5lcmljX3g4nl9hcm06MTAvUlBQNC4yMDA0MDkuMDE1LzY0NTUzMTE6dXNlci9yZWxlYXxNlLWtleXM=)网址:com.interfacom.toolkit.ProtectedAndroidApplication.attachBaseContext(未知来源:53)在android.app.Application.attach(Application.java:351)在android.app.Instrumentation.newApplication(Instrumentation.java:1159)在android.app.LoadedApk.makeApplication(LoadedApk.java:1208)在android.app.ActivityThread.handleBindApplication(ActivityThreads.java:6533)在android.app.ActivityThread.access$1300(ActivityThreads.java:231)在android.app.ActivityThread$H.handleMessage(ActivityThreads.java:1887)在android.os.Handler.dispatchMessage(Handler.java:106)在android.os.Looper.loop(Looper.java:223)在android.app.ActivityThread.main(ActivityThreads.java:7478)位于java.lang.reflect.Method.ioke(本机方法)网址:com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)网址:com.android.internal.os.ZygoteInit.main(ZygoteNit.java:941)原因:java.lang.UnsisfiedLinkError:"中的JNI_OnLoad返回了错误的JNI版本/data/user/0/com.interfacom.toolkit/app_outdex/libdexprotector.uj6out.11112.so":-1319位于java.lang.Runtime.load0(Runtime.java:939)在java.lang.System.load(System.java:1625)网址:com.interfacom.toolkit.ProtectedAndroidApplication.xwmukuyhw(未知来源:105)网址:com.interfacom.toolkit.ProtectedAndroidApplication.e(未知来源:182)网址:com.interfacom.toolkit.ProtectedAndroidApplication.attachBaseContext(未知来源:3)在android.app.Application.attach(Application.java:351)在android.app.Instrumentation.newApplication(Instrumentation.java:1159)在android.app.LoadedApk.makeApplication(LoadedApk.java:1208)在android.app.ActivityThread.handleBindApplication(ActivityThreads.java:6533)在android.app.ActivityThread.access$1300(ActivityThreads.java:231)在android.app.ActivityThread$H.handleMessage(ActivityThreads.java:1887)在android.os.Handler.dispatchMessage(Handler.java:106)在android.os.Looper.loop(Looper.java:223)在android.app.ActivityThread.main(ActivityThreads.java:7478)位于java.lang.reflect.Method.ioke(本机方法)网址:com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)网址:com.android.internal.os.ZygoteInit.main(ZygoteNit.java:941)

如有任何帮助,我们将不胜感激!

转到编辑配置->调试器->调试类型->仅限java->应用

首先,我们将在构建文件中启用收缩。找到位于/android/app/文件夹中的build.gradle文件,并添加粗体行`安卓{

buildTypes{

release {

signingConfig signingConfigs.debug     
//add everything below
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
}

}}

接下来创建/android/app/proguard-rules.pro文件并插入其中:

-keep class com.arthenica.mobileffmpeg.Config {
native ;
void log(long, int, byte[]);
void statistics(long, int, float, float, long , int, double, double);
}
-keep class com.arthenica.mobileffmpeg.AbiDetect {
native ;
}

最新更新