見出し画像

androidアプリ(kivy buildozer)の更新でAPIレベルを上げてビルドし直しました

過去に作成したアプリですが公開から2年程経過したことで対象としていたandroidのバージョンが古くなりAPI レベルの更新を促すためのメールが届いていたため更新しました

ビルドする際のエラーで解決する前に出ていたものについて記載します

アプリ作成時のnote記事です

2022年にビルドした時はAPIレベル30(version11.0)だったので2024年の今年は34(version14.0)でビルドしてリリースしました
初回の審査は時間がかかりましたがバージョンアップのリリースは比較的すぐ公開されました

対象SDK

kivy + pythonで作成したものをdockerのubuntu上で動かしているbuildozerでaabファイルとしてビルドしていたので、2年ぶりにbuildozerを動かしていたubuntuを起動して作業しました

kivyやpythonなどパッケージのバージョンによる依存関係でビルドが失敗したりなどしますが調べて調整しました、2年前はkivyは2.0.0でしたが今回は2.3.0でビルドしてみました

openjdkのバージョンが低いとビルドできないことがあったのでopenjdk-17-jdkに変更しました

[WARNING]: ERROR: /home/user/hostcwd/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/nequalApp/gradlew failed!

sudo apt install  openjdk-17-jdk #openjdk -17のインストール

The highest version is automatically selected
user@245188a254f5:~/hostcwd$ sudo update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
0            /usr/lib/jvm/java-17-openjdk-amd64/bin/java   1711      auto mode
1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      manual mode
2            /usr/lib/jvm/java-13-openjdk-amd64/bin/java   1311      manual mode
3            /usr/lib/jvm/java-17-openjdk-amd64/bin/java   1711      manual mode

buildozer android release

 Android packaging done!
 APK nequalApp-0.3-arm64-v8a_armeabi-v7a-release.aab available in the bin directory

File existsのエラーですがDocker上で動かしており壊れても良いのでとりあえずの回避策がないかの確認で書き込み権限を追加したりコピー元のファイルを削除したりしていたらビルドが通りました

/usr/bin/cp: cannot create regular file '/home/user/hostcwd/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/nequalApp/.DS_Store': File exists

更新したアプリ
https://play.google.com/store/apps/details?id=org.teto.nequalapp


この記事が気に入ったらサポートをしてみませんか?