如果在我的应用程序中使用此代码启用proguard:
release {
debuggable false
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
当尝试在Android Studio应用程序中以调试或正常模式运行时,只有在Play商店中发布时,应用程序才会崩溃。
崩溃时出错:
Error inflating class android.support.v7.widget.Toolbar
Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class android.support.v7.widget.Toolbar
Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class android.support.v7.widget.Toolbar
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.aj.a()' on a null object reference
我使用最新版本的support.v7:
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:support-v4:27.0.2'
implementation 'com.google.firebase:firebase-messaging:11.8.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
在今天之前所有工作正常=(
德克斯特说:
-dontwarn android.support.v7.**
-keep class android.support.v7.widget.** { *; }
它工作,但为什么任何Android工作室更新后我总是有问题?为什么Android Studio会在今天最新版本的proguard取消小部件之后?
答案 0 :(得分:2)
也许proguard删除了这个类,你可以禁用proguard来避免这个错误,如果你想保留它你将不得不改变proguard设置
-dontwarn android.support.v7.**
-keep class android.support.v7.widget.** { *; }
答案 1 :(得分:1)
尝试在Gradle中添加:
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
执行所有项目的完全清理和重建。