公式にも記載がありますが、リリース用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を作成します。
android:debuggable="false"
debuggable=true
分析する
分析すると言っても難しいことはなく、Android Studioがやってくれます。
Buildのメニューにある「Analyze apk...」をクリックして、作成したAPKを読み込ませるだけです。
AndroidManifest.xmlを見てみると、app/build.gradleの設定が優先されるために、debuggable=trueであることが確認できます。
まとめ
- AndroidManifestよりもbuild.gradleの記述が優先される
- Android StudioのAnalyze apkでAPKの中身を確認することができる