簡體   English   中英

如何在Android項目中禁用調試消息?

[英]How to disable debug messages in android project?

我們有一個大項目無法刪除很多調試消息,並且該項目處於發布階段。我們要禁用我們項目中的所有調試消息。調試消息格式為

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d("Gajanand", "onCreate: just check");
}

我嘗試過

Android:debuggable="false"

但它無法正常工作,並且還嘗試將構建變體更改為發行版本,但出現許多無法構建項目的錯誤。請提供任何幫助

您可以使用以下proguard-rule規則來忽略發行版中的所有調試日志和詳細日志:

# 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. 首先,我去了proguard-rules.pro文件,應該是靠近你的build.gradle文件。 在該文件中,我添加了:

    -assumenosideeffects類android.util.Log {public static * d(...); }

  2. 然后我去了build.gradle文件並添加:

    buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } }

欲了解更多信息,請點擊這里

您可以采用困難的方法,並使用remplace“ Ctr + shift + r”並替換所有“ log”。 通過“ //”對所有日志請求添加注釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM