我已经通过这个问题两天了。我已经成功构建了我的 Release APK,但是当我在设备中测试这个 APK 时,我得到了这个异常:
java.lang.VerifyError: Verifier rejected class m.a due to bad method void m.a.a(android.support.v4.app.Fragment, int, int) (declaration of 'm.a' appears in /data/app/com.picmix.mobile-1/base.apk)
at m.a.e(outline)
at a.b.g.a.<clinit>(SourceFile:7)
at a.b.g.b.attachBaseContext(SourceFile:2)
at android.app.Application.attach(Application.java:187)
at android.app.Instrumentation.newApplication(Instrumentation.java:996)
at android.app.Instrumentation.newApplication(Instrumentation.java:980)
at android.app.LoadedApk.makeApplication(LoadedApk.java:582)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4766)
at android.app.ActivityThread.access$1900(ActivityThread.java:152)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1402)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5538)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
我m.a
在构建文件夹中生成的 proguard mappings.txt 文件中对此进行了跟踪,显然它指向r8.GeneratedOutlineSupport
.
每个其他搜索结果都m.a
指向类路径中间的点,而不是整个类路径。所以,如果我没记错的话,这意味着代码/资源收缩器的一部分将产生该错误。
这GeneratedOutlineSupport
首先是什么,我应该把-keep r8.GeneratedOutlineSupport.*
或类似的东西作为一种解决方法吗?
编辑:我想我暂时可以使用 Proguard。