我们有一个大项目无法删除大量调试消息,项目处于发布阶段。我们要禁用项目中的所有调试消息。调试消息格式为
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("Gajanand", "onCreate: just check");
}
我试过
Android:debuggable="false"
但它不起作用 并且还尝试更改构建变体以发布,但是获得了许多无法构建项目的错误 请任何帮助
答案 0 :(得分:1)
您可以使用以下proguard规则来忽略发行版中的所有调试和详细日志:
# ignore all Debug and Verbose Logs in a release
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** v(...);
}
所以你没有"禁用"手动完成所有日志 - 它们只是混淆了。
要应用此proguard规则,您必须通过修改gradle文件来使用proguard的优化功能:
buildTypes {
release {
shrinkResources false
minifyEnabled true
zipAlignEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
'proguard-rules.pro'
signingConfig signingConfigs.config
proguardFile '/<your-custom-file>/app/proguard-rules.pro'
debuggable false
}
}
另请参阅proguard手册: https://www.guardsquare.com/en/proguard/manual/usage
答案 1 :(得分:1)
对于我的项目,我能够通过以下方式摆脱调试消息。
首先,我访问了应该在build.gradle文件附近的 proguard-rules.pro 文件。在那个文件中我添加了:
-assumenosideeffects class android.util.Log { public static * d(...); 的} 强>
然后我去了build.gradle文件并添加了:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
'proguard-rules.pro'
}
}
有关详细信息,请转到here。
答案 2 :(得分:0)
你可以用艰难的方式并使用remplace “Ctr + shift + r” 并重新考虑所有 “日志”。通过“//” 将所有日志请求置于评论中。