web-dev-qa-db-ja.com

Android StudioのリリースビルドでLogCatを有効にする

デフォルトでは、Build Variantsreleaseに変更すると、logcatでログを取得できませんが、アプリのリリースログを読み取る必要があります。これを有効にするにはどうすればよいですか?

43

Android:debuggable="true"タグ内のマニフェストに<application>(デフォルトはfalse)を追加します。

ドキュメントから:

Android:デバッグ可能
ユーザーモードのデバイスで実行している場合でも、アプリケーションをデバッグできるかどうか-可能な場合は「true」、そうでない場合は「false」。

それぞれ

マニフェストファイルのタグからAndroid:debuggable属性を削除するか、マニフェストファイルのAndroid:debuggable属性をfalseに設定すると、デバッグを無効にできます。

編集

Android {...}タグ内のbuild.gradleファイルに次を追加する必要がある場合があります。

lintOptions {
   checkReleaseBuilds false
}

そして、サイドノートとして:デバイスの右に、アプリケーションのデバッグ可能falseまたはtrueに設定されます。しかし、Android StudioのLogCat)を介して、debuggableがtrueに設定されている場合のみ可能です(これをテストしただけです)

57
reVerse

私は他のソリューションが好きではありません。なぜなら、あなたはアプリが実際にどのようにデプロイされているかをテストしていないからです。

より良い解決策は、 Android Device Monitor を開いて、debuggable=false

ここで見つけてください:

ツール-> Android-> Android Device Monitor

更新:
AndroidデバイスモニターはAndroid Studio 3.2で削除されました。ただし、SDKにはまだ存在し、ログを確認するために使用できます($Android_SKD/tools/

29

追加する必要があります

Android {
    buildTypes {
        release {
            debuggable true

この場合、Log.またはSystem.out.printlnを使用してログを表示できます。

リリースバージョンを実行できない場合(appは無効)、エラーが表示されます:「apkは署名されていません。プロジェクト構造ダイアログを使用して、選択したフレーバーの署名情報を設定してください」、 app -release-unsigned.apkは署名されていません

10
CoolMind