署名の為の鍵を準備
JDKに含まれているkeytoolを使うのですがLinuxには元々keytoolがあるようなので、whichコマンド等でJDKの物が有効になっているか確認したら、以下のコマンドを打ちます。
$ keytool -genkey -v -keystore <鍵の入れ物のファイル名> -alias <鍵の名前> -keyalg RSA -validity 10000
<鍵の入れ物のファイル名>と<鍵の名前>は自由に決めて下さい。実行してみると鍵(Key)と鍵の入れ物(KeyStore)の2つに対してPasswordを設定しろと言われます。なのでPasswordを決めて入力します。
環境変数を設定
上の手順で作ったKeyStoreやPasswordを環境変数に設定します。
export P4A_RELEASE_KEYSTORE=<KeyStoreへのPath>
export P4A_RELEASE_KEYSTORE_PASSWD=<KeyStoreのPassword>
export P4A_RELEASE_KEYALIAS=<Keyの名前>
export P4A_RELEASE_KEYALIAS_PASSWD=<KeyのPassword>
Build
$ buildozer android release
Buildしたら実機で確認して終わりです。
そして公開
後はGoogle Play Developer Consoleのページから指示に従っていくだけです。ここは特に問題が生じなかったので説明は省きます。
以前は必要だった作業
ここの手順は現在は自動でしてくれるので必要ないのですが、どこかで役に立つかもしれないのでメモしておきます。
署名
jarsigner -verbose -tsa http://timestamp.digicert.com -digestalg SHA1 -sigalg MD5withRSA -keystore <鍵の入れ物のファイル名> <署名対象のAPKファイル名> <鍵の名前>
APKを最適化
zipalign -v 4 <最適化したいファイル> <最適化後のファイル名>
記事一覧
#1 Kivy Launcherで動作確認
#2 APKを作成
#3は削除(GooglePlayの開発者登録をするだけの記事)
#4 APKをリリース用にビルド、署名、公開
#5 Python3でもAPKを作る(結果は失敗 -> その後成功)