我正在转移到Android Studio 1.0.1。由于我遇到described in this link的问题,我也一直在避免使用android-support-v7。但是现在我想要包含材料设计并需要使用appcompat。
我测试的两个设备受到上面链接中的错误的影响,所以我对如何解决这个问题有一些想法。请告诉我这些是否有效的建议,因为我从不熟悉Proguard的工作方式,因为从未使用过它(我已阅读文档)
我相信我只需要包含这些行就可以让appcompat库在受影响的三星设备上运行:
# Allow obfuscation of android.support.v7.internal.view.menu.**
# to avoid problem on Samsung 4.2.2 devices with appcompat v21
# see https://code.google.com/p/android/issues/detail?id=78377
-keep class !android.support.v7.internal.view.menu.**,android.support.** {*;}
1)在buildTypes中创建一个“debug”部分。将minifyEnabled设置为“true”,并且仅包含在指定的proguard文件中上面链接中指定的行的文件。不要包含默认的proguard文件,因为在调试时我不希望所有代码都被最小化,我只想重命名受影响的类。
我想我只有一个想法。这会有用吗?我打算试试并报告......
答案 0 :(得分:0)
如果您正在调试运行4.2.2的三星设备并且遇到问题,请确保在使用proguard时将以下代码行添加到'proguard-android.txt',或者创建自己的文本文件(如我做了)并指向build.gradle中的那个文件
# Allow obfuscation of android.support.v7.internal.view.menu.**
# to avoid problem on Samsung 4.2.2 devices with appcompat v21
# see https://code.google.com/p/android/issues/detail?id=78377
-keep class !android.support.v7.internal.view.menu.**,android.support.** {*;}
这是我的gradle文件的样子。 'samsung-alteration.txt'仅包含上面的代码段
buildTypes {
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('samsung-alteration.txt')
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
希望这能帮助一些yinz!