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(...);
}
只有将getDefaultProguardFile从proguard-rules.pro
设置为('proguard-android.txt')
('proguard-android-optimize.txt')
但是将它设置为proguard-android-optimize.txt
会启用我不想要的优化标记。
那么我怎样才能在没有Proguard对我的代码进行任何缩小或优化的情况下禁用日志记录和缩小资源?
答案 0 :(得分:2)
您应该能够通过仅启用assumenosideeffects
所依赖的特定Proguard优化来实现此目的。它依赖的两个是:
您可以阅读有关不同优化选项here的更多信息。所以这样的事情应该有效:
<强> 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
}
}
答案 1 :(得分:-1)
我认为您仍然可以尝试使用-dontobfuscate
和&amp;您的proguard配置文件中的dontshrink
。这些选项不会缩小和混淆代码。