我正在尝试使用proguard来删除所有日志:我在proguard-project.txt中输入了以下行:
-assumenosideeffects class android.util.Log { *; }
Run Code Online (Sandbox Code Playgroud)
我的project.properties看起来像这样:
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
Run Code Online (Sandbox Code Playgroud)
尽管如此,日志仍然会在我的申请中显示出来.我到底错在了什么?
Eri*_*une 89
您不应该指定'*'通配符,因为它包含'Object#wait()'等方法.更好地明确列出方法:
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
}
Run Code Online (Sandbox Code Playgroud)
此选项仅在未禁用优化时才相关,例如proguard-android.txt.你必须指定proguard-android-optimize.txt:
proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt
Run Code Online (Sandbox Code Playgroud)
或使用当代Android Gradle插件
buildTypes {
releaseSomeBuildType {
...
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'your-proguard-file.pro'
}
}
Run Code Online (Sandbox Code Playgroud)
小智 12
现在已经很晚了,我遇到了同样的问题.我正在使用Android studio 1.3,这就是我所做的.
在发布版本中添加要删除的日志方法proguard-android-optimize.txt:
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int d(...);
public static int w(...);
public static int v(...);
public static int i(...);
}
Run Code Online (Sandbox Code Playgroud)在build.gradle(Module:app)中将proguard-android-optimize.txt设置为默认的proguard文件而不是proguard-android.txt:
buildTypes {
release {
minifyEnabled true
debuggable false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt')
}
}
Run Code Online (Sandbox Code Playgroud)这是因为proguard-android.txt默认情况下使用标志关闭优化
-dontoptimize
-dontpreverify
Run Code Online (Sandbox Code Playgroud)
这对我有用,希望它能帮助别人.
你需要这样做:
-assumenosideeffects class android.util.Log {
public static int d(...);
public static int v(...);
public static int i(...);
public static int w(...);
public static int e(...);
public static int wtf(...);
}
Run Code Online (Sandbox Code Playgroud)
并扩展您正在使用的所有日志方法.
| 归档时间: |
|
| 查看次数: |
29718 次 |
| 最近记录: |