您好,我正在使用 Javacv 开发一个应用程序。该应用程序工作正常,直到我混淆构建。混淆后,应用程序在 jni 函数调用处崩溃。
-dontshrink
-dontoptimize
-dontpreverify
-dontwarn android.support.**
-keep class com.googlecode.javacv.**
-dontwarn com.googlecode.javacv.**
-keep class com.googlecode.javacpp.**
-dontwarn com.googlecode.javacpp.**
-keepclasseswithmembernames class * {
native <methods>;
}
-keepattributes *Annotation*
我找不到任何可以解决我的问题的答案。我收到 NoSuchMethodError。任何人都可以帮助我。我正在使用最新版本的 Javacv 库。
最佳答案
您必须保留 native 方法(您已经在这样做)以及从 native 代码调用的 Java 方法。
您可以保留所有 javacv 和 javacpp 方法,如下所示:
-keep class com.googlecode.javacv.**{ *; }
-keepclassmembers class com.googlecode.javacv.** {
<methods>;
}
-keep class com.googlecode.javacpp.**{ *; }
-keepclassmembers class com.googlecode.javacpp.** {
<methods>;
}
此外,如果您想减少构建输出中的警告:
-dontwarn com.googlecode.javacv.**, com.googlecode.javacpp.**
-dontnote com.googlecode.javacv.**, com.googlecode.javacpp.**
关于android - 使用 Javacv 编程 android 项目出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21478125/