LoginSignup
26

More than 5 years have passed since last update.

AndroidStudioで生成したAPKをDeveloperConsoleにアップ出来ないケース

Posted at

AndroidStudioでは、BuildメニューからGenerate Signed APKを選択すると、署名付きAPKファイルを生成出来ます。
生成されたAPKファイルをDeveloper Consoleにアップロードすれば、公開用アプリとして登録されるはずです。

しかしアップロード完了後、Developer Consoleに以下のようなエラーが表示され、アップロードに失敗しました。

アップロードできませんでした
デバッグ可能な APK をアップロードしました。セキュリティ上の理由により、Google Play に公開するにはデバッグを無効にする必要があります。デバッグ可能な APK の詳細をご確認ください。

下記のブログで、同じケースのことが書かれており、解決出来ました。
「デバッグ可能なAPKをアップロードしました。」などどと言い始めた Google Play Developer Console(新! #android ファッション通信 Σ(^A^;))

解決方法

  1. AndroidManifest.xml ファイルに android:debuggable="false" を追記する
  2. AndroidStudio の Build Variants を release にしてから APK を生成する

AndroidManifest.xml ファイルに android:debuggable="false" を追記する

<application> タグを以下のように修正します。

AndroidManifest.xml
    <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@string/AppTheme"
            android:debuggable="false"
            >
        ....
    </application>

AndroidStudio の Build Variants を release にしてから APK を生成する

AndroidStudioのTool Windowsメニューから、Build Variantsを選択します。
するとソースツリーの下あたりに、Build Variantsウィンドウが出現します。そこでBuild Variantの設定がDebugになっている場合は、Releaseに切り替えます。

まとめ

上記2つの方法であれば、どちらでもDeveloper Consoleへ登録可能なAPKが生成出来ました。
ただし、AndroidStudioを使う上では2番目のBuild Variantsを切り替える方法が、正しいのだと思います。

理由は、BuildツールとしてGradleを採用しているからです。
GradleでBuildする最大のメリットとして、1つのプロジェクトから複数バージョンのAPKを生成することが出来ます。デフォルトのBuild Variantsには、DebugとReleaseしかありませんが、それ以外にも自由に追加可能なため、生成したいAPKに合わせてBuild Variantsを都度切り替えるやり方が、本来の使い方のようです。

このへんのBuild Variantsについては、下記ブログがすごく参考になります。
Build Variants によって別バージョンの Android アプリを同じプロジェクトからビルドする (Gradle 使用)(ひだまりソケットは壊れない)

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
26