mon*_*lou 8 java android proguard kotlin android-studio
设置后minifyEnabled true,我在发布的应用程序中收到此错误
知道如何解决吗?
2020-07-01 11:51:33.651 30098-30098/? I/ResourcesCompat: Failed to retrieve rebase() method
java.lang.NoSuchMethodException: android.content.res.Resources$Theme.rebase []
at java.lang.Class.getMethod(Class.java:2069)
at java.lang.Class.getDeclaredMethod(Class.java:2047)
at androidx.core.content.res.ResourcesCompat$ThemeCompat$ImplApi23.rebase(SourceFile:3)
at androidx.core.content.res.ResourcesCompat$ThemeCompat.rebase(SourceFile:3)
at androidx.appcompat.app.AppCompatDelegateImpl.attachBaseContext2(SourceFile:32)
at androidx.appcompat.app.AppCompatActivity.attachBaseContext(SourceFile:1)
at com.kahkeshan.tv_app.base.BaseActivity.attachBaseContext(SourceFile:1)
at android.app.Activity.attach(Activity.java:7244)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3080)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3282)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1970)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7156)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
Run Code Online (Sandbox Code Playgroud)
gradle 文件中的设置:
release {
minifyEnabled true
shrinkResources true
zipAlignEnabled true
pseudoLocalesEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
Run Code Online (Sandbox Code Playgroud)
小智 0
在 ProGuard 配置文件中,您需要-keep为缺少的方法添加规则rebase()。下面的-keep选项就可以解决问题;
-keep class android.content.res.Resources$Theme {
void rebase();
}
Run Code Online (Sandbox Code Playgroud)
使用ProGuard Playground-keep ,您可以在项目的类树中查看选项的效果。它可以帮助您创建微调-keep选项来解决类似问题。
| 归档时间: |
|
| 查看次数: |
975 次 |
| 最近记录: |