apkは作成済みで、あとはPlay Consoleにアップするだけなのに、versionCodeの更新を忘れていて再度apkを作り直さなきゃ…みたいな状況でversionCodeだけを更新する方法をご紹介。
(素直にapkを作り直すのが絶対にいいと思いますが、諸事情でソースコードがなく作り直せない、みたいなときに役立つかもしれません。)
0. Apktoolをインストールする
Apktoolというのが必要になるので、事前準備としてインストールします。
Macの場合はHomebrewで入れるのが簡単だと思います。
$ brew install apktool
1. apkをデコードする
変更を加えたいapkをデコードします。
$ apktool d sample.apk -o tmp
↑では -o tmp
で tmp
フォルダにapkの中身が出力されるように指定しています。
2. versionCodeを書き換える
本題のversionCodeの更新部分です。
先ほど出力された tmp
フォルダに apktool.yml
というファイルがあるので、それをエディタで開きます。
するとその中に、下記のように versionCode
の記述があると思うので、それを書き換えます。
3. tmp
をビルドしapkを生成する
書き換えが終わったら、再度apktoolを利用して、apkを生成します。
$ apktool b tmp
実行すると tmp
フォルダに dist
フォルダが生成され、中にapkが生成されます。( sample.apk
)
4. apkに署名する
新しく生成されたapk(tmp/dist/sample.apk
)に署名をします。
jarsigner -keystore sample.keystore -storepass SamplePass -keypass SampleKeyPass tmp/dist/sample.apk SampleKeyAliasName
5. zipalignを実行する
zipalignを実行しておきます。
(参考:https://developer.android.com/studio/command-line/zipalign?hl=ja )
$ zipalign -v 4 tmp/dist/sample.apk sample-release.apk
実行すると sample-release.apk
が生成されます。
以上で作業は終わりで、versionCodeを更新したapkを生成することができました。