proguard-rules.pro文件丢失 - Android Studio 1.0.1

时间:2014-12-17 17:11:08

标签: android proguard samsung-mobile

我正在转移到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文件,因为在调试时我不希望所有代码都被最小化,我只想重命名受影响的类。

我想我只有一个想法。这会有用吗?我打算试试并报告......

1 个答案:

答案 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!