[英]Android app crashes even after proguard rules are specified
I have a video calling Android app built with Twilio that I'm trying to publish.我有一个使用 Twilio 构建的视频通话 Android 应用程序,我正在尝试发布该应用程序。 I use the bundle tool to install the generated signed bundle in my connected android device.
我使用捆绑工具在我连接的 android 设备中安装生成的签名捆绑包。 However, I'm get a runtime exception while answering an incoming video call.
但是,我在接听传入的视频呼叫时遇到运行时异常。
JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception java.lang.ClassNotFoundException: Didn't find class "tvi.webrtc.WebRtcClassLoader" on path: DexPathList[[zip file "/data/app/com.demo.app-dOUL_EUaQs_CwBerkm7P8w==/base.apk", zip file "/data/app/com.demo.app-dOUL_EUaQs_CwBerkm7P8w==/split_config.ar.apk", zip file "/data/app/com.demo.app-dOUL_EUaQs_CwBerkm7P8w==/split_config.arm64_v8a.apk", zip file "/data/app/com.demo.app-dOUL_EUaQs_CwBerkm7P8w==/split_config.en.apk", zip file "/data/app/com.demo.app-dOUL_EUaQs_CwBerkm7P8w==/split_config.xxhdpi.apk"],nativeLibraryDirectories=[/data/app/com.demo.app-dOUL_EUaQs_CwBerkm7P8w==/lib/arm64, /data/app/com.demo.app-dOUL_EUaQs_CwBerkm7P8w==/base.apk!/lib/arm64-v8a, /data/app/com.demo.app-dOUL_EUaQs_CwBerkm7P8w==/split_config.ar.apk!/lib/arm64-v8a, /data/app/com.demo.app-dOUL_EUaQs_CwBerkm7P8w==/split_config.arm64_v8a.apk!/lib/arm64-v8a, /data/app/com.demo.app-dOUL_EUaQs
2020-10-06 16:57:52.411 3350-3350/com.demo.app A/m.kaauh.patien: java_vm_ext.cc:570] at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:196)
2020-10-06 16:57:52.411 3350-3350/com.demo.app A/m.kaauh.patien: java_vm_ext.cc:570] at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
2020-10-06 16:57:52.411 3350-3350/com.demo.app A/m.kaauh.patien: java_vm_ext.cc:570] at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
(The stack trace is very lengthy but I hope the issue is clear after reading the first line itself) (堆栈跟踪很长,但我希望在阅读第一行后问题就清楚了)
I use the default android.enableR8=true
and the rules are specified in proguard-rules.pro
我使用默认的
android.enableR8=true
并且规则在proguard-rules.pro
中指定
# required by twilio plugin
-keep class tvi.webrtc.** { *; }
-dontwarn tvi.webrtc.**
-keep class com.twilio.video.** { *; }
-keep class com.twilio.common.** { *; }
-keepattributes InnerClasses
and my app build.gradle
specifies the release configs我的应用程序
build.gradle
指定了发布配置
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
Not sure what I'm missing.不知道我错过了什么。 Any help or suggestion would be greatly appreciated.
任何帮助或建议将不胜感激。
Thank you谢谢
You use tvI.webrtc
but should tvO.webrtc
您使用
tvI.webrtc
但应该使用tvO.webrtc
Just copy and paste code below只需复制并粘贴下面的代码
Voice Android 3.2.0+语音安卓 3.2.0+
# Twilio Programmable Voice
-keep class com.twilio.** { *; }
-keep class tvo.webrtc.** { *; }
-dontwarn tvo.webrtc.**
-keep class com.twilio.voice.** { *; }
-keepattributes InnerClasses
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.