build.gradle:
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.SginConfig
}
}我不希望Proguard优化,也不想混淆我的代码,因为它给我带来了很多麻烦。我只想删除日志调用并启用未使用资源的收缩。
proguard-rules.pro:
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int w(...);
public static int d(...);
public static int e(...);
}只有当我将proguard-rules.pro中的getDefaultProguardFile从('proguard-android.txt')设置为('proguard-android-optimize.txt')时,才能将上述代码添加到('proguard-android-optimize.txt')
但是,通过将其设置为proguard-android-optimize.txt,可以启用我在本例中不想要的优化标志。
那么,我如何才能禁用日志记录并收缩资源,而不对我的代码进行任何细化或优化呢?
发布于 2016-04-26 18:44:16
您应该能够通过只启用assumenosideeffects所依赖的特定Proguard优化来做到这一点。它所依赖的两个方面是:
您可以阅读更多关于不同优化选项的这里。所以像这样的事情应该有效:
proguard-rules.pro
-optimizations code/removal/simple,code/removal/advanced
-dontobfuscate
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int w(...);
public static int d(...);
public static int e(...);
}build.gradle
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.SginConfig
}
}发布于 2016-04-25 06:35:32
我认为你仍然可以尝试在你的程序保护配置文件中使用像-dontobfuscate和dontshrink这样的选项。这些选项不会收缩和混淆代码。
https://stackoverflow.com/questions/34450215
复制相似问题