Android studio 在proguard之后,在发布apk中单击不工作
在proguard之后,在发布apk中单击不工作 我可以将应用程序部署到emulator,甚至是真正的android智能手机上,一切正常,但当我创建一个发布apk,将其传输到手机上时,我无法播放,因为点击不起作用。事实上,我可以点击按钮,但它们不能按到底。就像“玩”按钮一样,当我点击它时,它显示我正在点击它,但它不会启动游戏。我经常使用proguard,甚至尝试将minifyEnabled改为false,将resource改为false,但现在它给出了一个关于锁定PID错误的错误。到目前为止我知道的一切都试过了。我知道我不能在proguard文件中包含任何东西,我就是无法得到它是什么 我的proguard文件:Android studio 在proguard之后,在发布apk中单击不工作,android-studio,proguard,build.gradle,obfuscation,shrinkresources,Android Studio,Proguard,Build.gradle,Obfuscation,Shrinkresources,在proguard之后,在发布apk中单击不工作 我可以将应用程序部署到emulator,甚至是真正的android智能手机上,一切正常,但当我创建一个发布apk,将其传输到手机上时,我无法播放,因为点击不起作用。事实上,我可以点击按钮,但它们不能按到底。就像“玩”按钮一样,当我点击它时,它显示我正在点击它,但它不会启动游戏。我经常使用proguard,甚至尝试将minifyEnabled改为false,将resource改为false,但现在它给出了一个关于锁定PID错误的错误。到目前为止我知
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose
默认情况下,优化处于关闭状态。Dex不喜欢通过ProGuard优化和预验证步骤运行的代码(并自行执行其中一些优化)
-dontoptimize
-不翻转
请注意,如果要启用优化,则不能仅在自己的项目配置文件中包含优化标志;相反,您需要指向proguard android optimize.txt“
文件,而不是project.properties
文件中的这个文件
-keepattributes *Annotation*
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
-keepclasseswithmembernames class * {
native <methods>;`
}
-keepclassmembers public class * extends android.view.View {
void set*(***);
*** get*();
}
列举
理解@Keep support注释。
我没有使用任何自定义文件。我以前做过,但只是删除了,我现在很有趣的txt文件
我正在使用multiDex,因为文件大小过大。
我正在使用firebase核心外部库。以下是图书馆:
dependencies {
compile 'com.google.android.gms:play-services- appindexing:9.0.2'
compile 'com.google.android.gms:play-services-analytics:9.0.2'
compile 'com.google.android.gms:play-services-location:9.0.2'
compile 'com.google.android.gms:play-services:9.0.2'
compile 'com.google.android.gms:play-services-ads:9.0.2'
compile 'com.google.android.gms:play-services-auth:9.0.2'
compile 'com.google.android.gms:play-services-gcm:9.0.2'
compile 'com.google.firebase:firebase-core:9.0.2'
compile 'com.android.support:multidex:1.0.1'
compile 'com.android.support:support-v4:24.0.0
}
由于这个问题,我无法发布我的第一个应用程序。Ok通过禁用proguard功能使其正常工作,尽管我也想知道如何使用proguard。现在的应用程序是17mb,但也许它可以更小的proguard
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keepclassmembers class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator CREATOR;
}
-keepclassmembers class **.R$* {
public static <fields>;
}
-dontwarn android.support.**
-keep class android.support.annotation.Keep
-keep @android.support.annotation.Keep class * {*;}
-keepclasseswithmembers class * {
@android.support.annotation.Keep <methods>;
}
-keepclasseswithmembers class * {
@android.support.annotation.Keep <fields>;
}
-keepclasseswithmembers class * {
@android.support.annotation.Keep <init>(...);
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt')
}
dependencies {
compile 'com.google.android.gms:play-services- appindexing:9.0.2'
compile 'com.google.android.gms:play-services-analytics:9.0.2'
compile 'com.google.android.gms:play-services-location:9.0.2'
compile 'com.google.android.gms:play-services:9.0.2'
compile 'com.google.android.gms:play-services-ads:9.0.2'
compile 'com.google.android.gms:play-services-auth:9.0.2'
compile 'com.google.android.gms:play-services-gcm:9.0.2'
compile 'com.google.firebase:firebase-core:9.0.2'
compile 'com.android.support:multidex:1.0.1'
compile 'com.android.support:support-v4:24.0.0
}