AndroidStudioでは、BuildメニューからGenerate Signed APKを選択すると、署名付きAPKファイルを生成出来ます。
生成されたAPKファイルをDeveloper Consoleにアップロードすれば、公開用アプリとして登録されるはずです。
しかしアップロード完了後、Developer Consoleに以下のようなエラーが表示され、アップロードに失敗しました。
アップロードできませんでした
デバッグ可能な APK をアップロードしました。セキュリティ上の理由により、Google Play に公開するにはデバッグを無効にする必要があります。デバッグ可能な APK の詳細をご確認ください。
下記のブログで、同じケースのことが書かれており、解決出来ました。
「デバッグ可能なAPKをアップロードしました。」などどと言い始めた Google Play Developer Console(新! #android ファッション通信 Σ(^A^;))
解決方法
- AndroidManifest.xml ファイルに android:debuggable="false" を追記する
- AndroidStudio の Build Variants を release にしてから APK を生成する
AndroidManifest.xml ファイルに android:debuggable="false" を追記する
<application>
タグを以下のように修正します。
<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 使用)(ひだまりソケットは壊れない)