Proguard 混淆使应用程序崩溃
Proguard obfuscation make app crashes
我刚开始使用 Proguard 混淆我的 java class,
这是我的应用 gradle:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
debuggable false
}
}
我已为 Proguard 启用 minifyEnabled。这是我的 Proguard-rules.pro
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class android.support.v7.app.** { *; }
-keep interface android.support.v7.app.** { *; }
-keep class android.support.v7.widget.** { *; }
-keep interface android.support.v7.widget.** { *; }
-dontshrink
-dontoptimize
-dontpreverify
-dontskipnonpubliclibraryclasses
-verbose
-dontusemixedcaseclassnames
-keepattributes *Annotation*
当我运行应用程序时,所有运行正常后应用程序移动到另一个activity实现SearchView.OnQueryTextListener给我这样的错误:
Cannot instantiate class: android.support.v7.widget.SearchView
java.lang.NoSuchMethodException: <init> [class android.content.Context]
at java.lang.Class.getConstructorOrMethod(Class.java:460)
at java.lang.Class.getConstructor(Class.java:431)
at android.support.v7.view.k.a(Unknown Source)
at android.support.v7.view.k.a(Unknown Source)
请有人帮助我,我按照此说明进行操作 Android SearchView does not work 但仍然遇到相同的错误。我想要的只是 Proguard 来混淆我的 java class
使用下面的方式,
-dontwarn android.support.v7.**
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }
其他支持库 v4 相同
-dontwarn android.support.v4.app.**
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
我刚开始使用 Proguard 混淆我的 java class, 这是我的应用 gradle:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
debuggable false
}
}
我已为 Proguard 启用 minifyEnabled。这是我的 Proguard-rules.pro
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class android.support.v7.app.** { *; }
-keep interface android.support.v7.app.** { *; }
-keep class android.support.v7.widget.** { *; }
-keep interface android.support.v7.widget.** { *; }
-dontshrink
-dontoptimize
-dontpreverify
-dontskipnonpubliclibraryclasses
-verbose
-dontusemixedcaseclassnames
-keepattributes *Annotation*
当我运行应用程序时,所有运行正常后应用程序移动到另一个activity实现SearchView.OnQueryTextListener给我这样的错误:
Cannot instantiate class: android.support.v7.widget.SearchView
java.lang.NoSuchMethodException: <init> [class android.content.Context]
at java.lang.Class.getConstructorOrMethod(Class.java:460)
at java.lang.Class.getConstructor(Class.java:431)
at android.support.v7.view.k.a(Unknown Source)
at android.support.v7.view.k.a(Unknown Source)
请有人帮助我,我按照此说明进行操作 Android SearchView does not work 但仍然遇到相同的错误。我想要的只是 Proguard 来混淆我的 java class
使用下面的方式,
-dontwarn android.support.v7.**
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }
其他支持库 v4 相同
-dontwarn android.support.v4.app.**
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }