【发布时间】:2016-11-22 09:29:49
【问题描述】:
我尝试了很多解决方案 例如 Remove all debug logging calls before publishing: are there tools to do this?
但是,当我查看 logcat 时。日志仍然显示。我的应用程序的日志消失了,但第三方的日志仍然存在。
这是我的 proguard 配置。
-dontwarn **
-target 1.7
#-dontusemixedcaseclassnames
#-dontskipnonpubliclibraryclasses
#-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!code/allocation/variable
-keep class **
-keepclassmembers class *{*;}
-keepattributes *
-dontskipnonpubliclibraryclasses
#-dontobfuscate
-forceprocessing
-optimizationpasses 5
-keep class * extends android.app.Activity
-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(...);
}
这是我的 gradle 文件配置
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
debuggable false
jniDebuggable false
signingConfig signingConfigs.config
}
debug {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
minifyEnabled true
debuggable false
zipAlignEnabled true
jniDebuggable false
}
}
出于安全原因,客户希望删除所有日志,甚至是第三方库或 SDK 中的日志
【问题讨论】:
-
这就是为什么外部日志工具在 Github 上的原因,你可以通过一个方法调用来禁用登录。无法禁用 Logcat。下载示例日志工具,重构消息以使用它,并在发布版本中禁用。
-
客户想要删除所有日志,甚至是第三方库或SDK中的日志。
-
ctrl + shif + f > 输入 log.d > 并删除该行。
-
这仅适用于我项目中的源代码。但不是来自第三方 lib/sdk 的日志。
标签: android android-studio logging gradle proguard