LoginSignup
10
4

More than 5 years have passed since last update.

リリースするapkはdabuggable=falseでなければならない

Last updated at Posted at 2018-11-30

公式にも記載がありますが、リリース用apkはAndroidManifest.xmlのdebuggableをfalseにする必要があります。

リリース用アプリをビルドする前に、ログ記録とデバッグ オプションを無効にします。ログ記録を無効にするには、ソースファイルで Log メソッドの呼び出しを削除します。デバッグを無効にするには、マニフェスト ファイルで android:debuggable 属性を タグから削除するか、マニフェスト ファイルで android:debuggable 属性を false に設定します。

Android Developerより引用
https://developer.android.com/studio/publish/preparing?hl=ja

注意点

と、これだけ読むとAndroidManifest.xmlにだけ注意していればいいように感じるかもしれません。しかしbuild.gradleの記述はAndroidManifestよりも優先されることを思い出しましょう。

公式サイトに、versionCodeやversionNameについて記載があります。

アプリのバージョンをアプリの 要素で直接定義すると、Gradle ビルドファイルのバージョンの値によってマニフェストの設定がオーバーライドされます。

Android Developerより引用
https://developer.android.com/studio/publish/versioning

そしてこの上書きの動作は、debuggadleにもあてはまります。

確認する

実際にapkを作成、分析してこの動作を確認してみましょう。

準備

まずはAndroidManifest.xmlとappモジュールのbuild.gradleにそれぞれ以下の記述を行い、apkを作成します。

AndroidManifest.xml
android:debuggable="false"
app/build.gradle
debuggable=true

分析する

分析すると言っても難しいことはなく、Android Studioがやってくれます。

Buildのメニューにある「Analyze apk...」をクリックして、作成したAPKを読み込ませるだけです。
スクリーンショット 2018-09-25 22.35.44.png

APKを選択すると↓のような画面が出てきます。
スクリーンショット 2018-09-25 22.39.25.png

AndroidManifest.xmlを見てみると、app/build.gradleの設定が優先されるために、debuggable=trueであることが確認できます。

まとめ

  • AndroidManifestよりもbuild.gradleの記述が優先される
  • Android StudioのAnalyze apkでAPKの中身を確認することができる
10
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
4