正在开发一个Android应用程序,在编译完apk后它会在logcat中显示我的服务器的http url!如何隐藏来自logcat的敏感数据
AuthFactoryProvider
这就是它显示链接的方式
答案 0 :(得分:2)
您必须在显示
等日志时进行一些检查创建显示错误日志的方法
boolean isShowLog = true;
public showErrorLog(String message)
{
if(isShowLog)
Logs.e("tag", message)
}
当你发布你的apk然后把它弄错
还有另一种检查日志的方法
在Log
之前添加BuildConfig.DEBUG
喜欢
public showErrorLog(String message)
{
if(BuildConfig.DEBUG)
Logs.e("tag", message)
}
这会在你的apk处于发布模式时禁用日志,而在调试模式下你可以看到日志。
答案 1 :(得分:2)
对于生产版本,请使用proguard并将此行添加到proguard配置文件中:
# for remove Logging
-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(...);
}
并且不要忘记将minifyEnabled设置为你的gradle构建文件(如下所示):
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "asg.mojtaba.myapplication"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "0.1.3"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
因此您可以在调试版本上使用logcat的好处,并确保您没有任何登录生产版本。