Android 使用Proguard仅用于禁用日志记录和缩减资源
build.gradle:Android 使用Proguard仅用于禁用日志记录和缩减资源,android,android-gradle-plugin,proguard,android-proguard,Android,Android Gradle Plugin,Proguard,Android Proguard,build.gradle: buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConf
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.SginConfig
}
}
我不希望Proguard优化或混淆我的代码,因为它给我带来了很多麻烦。我只想删除日志调用并允许收缩未使用的资源
proguard规则。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-android.txt')
设置为('proguard-android-optimize.txt')时,才能将上述代码添加到proguard rules.pro
中。
但是通过将其设置为proguard android optimize.txt
将启用优化标志,这在我的例子中是不需要的
那么,在Proguard不对我的代码进行任何缩小或优化的情况下,我怎样才能禁用日志记录和收缩资源呢?我认为您仍然可以尝试在Proguard配置文件中使用类似于
-dontobfuscate
&dontshrink
的选项。这些选项不会缩小和混淆代码。您应该能够通过仅启用假定效果取决于的特定Proguard优化来实现这一点。它所依赖的两个方面是:
- 代码/删除/简单:基于简单的控制流分析删除死代码
- 代码/删除/高级:基于控制流分析和数据流分析删除死代码
-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
}
}
你不能。
缩小
是优化
的一部分<代码>假设效果是其中的一部分。