doc:appunti:prog:kivy_debian_12_android_11
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doc:appunti:prog:kivy_debian_12_android_11 [2025/11/16 17:37] – [Upgrading the build tools] niccolo | doc:appunti:prog:kivy_debian_12_android_11 [2025/12/01 11:57] (current) – [Kivy version] niccolo | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Creating a Kivy app for Android 11 on Debian 12 Bookworm ====== | + | ====== Creating a Kivy app for Android 11-14 on Debian 12 Bookworm ====== |
| + | |||
| + | See also the page **[[kivy_app_in_play_store]]**. | ||
| **[[https:// | **[[https:// | ||
| Line 208: | Line 210: | ||
| </ | </ | ||
| - | By setting a **target API** lower than your SDK can support, you can declare what will be the highest Android version that your app is designed to be compatible with. At the moment Buildozer will try to target | + | By setting a **target API** lower than your SDK can support, you can declare what will be the highest Android version that your app is designed to be compatible with. In November 2025 the Google Play Store requires the SDK target |
| Declaring a **minimum API** you can tell what is the minimum Android version required by your app. We did not declared the android.minapi, | Declaring a **minimum API** you can tell what is the minimum Android version required by your app. We did not declared the android.minapi, | ||
| - | The **compile SDK** is the environment you want to use to create the app, i.e. the SDK you downloaded from Google (which generally support the higher API available at the moment). This will affects what functions and constructs you can use in your program. If you do not specify a version, Buildozer should detect the highest SDK downloaded and use it. In our case only one SDK was downloaded, and it was SDK API 31. | + | The **compile SDK** is the environment you want to use to create the app, i.e. the SDK you downloaded from Google (which generally support the higher API available at the moment). This will affects what functions and constructs you can use in your program. If you do not specify a version, Buildozer should detect the highest SDK downloaded and use it. |
| The Android API supported by your Buildozer installation depends upon the version of **python-for-android** (**p4a**) downloaded and installed during your setup. To know what is the **target API supported by your Buildozer installation**, | The Android API supported by your Buildozer installation depends upon the version of **python-for-android** (**p4a**) downloaded and installed during your setup. To know what is the **target API supported by your Buildozer installation**, | ||
| Line 270: | Line 272: | ||
| As per November 2025, the **Google Play** requires that new packages uploaded to the store are compiled using the **SDK target 35**, this means that you have to declare '' | As per November 2025, the **Google Play** requires that new packages uploaded to the store are compiled using the **SDK target 35**, this means that you have to declare '' | ||
| - | To check **Buildozer | + | ==== Buildozer version ==== |
| + | |||
| + | To check what version | ||
| < | < | ||
| buildozer --version | buildozer --version | ||
| + | </ | ||
| + | |||
| + | You can also ask pip3, using whatever //venv// or //user// variant you used: | ||
| + | |||
| + | < | ||
| + | pip3 list --user | ||
| + | Package | ||
| + | --------------- ------- | ||
| + | buildozer | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | The upgrade should be as simple as running | ||
| + | |||
| + | < | ||
| pip3 install --user --upgrade buildozer | pip3 install --user --upgrade buildozer | ||
| </ | </ | ||
| + | |||
| + | ==== Python-for-android version ==== | ||
| To check the **python-for-android (p4a) version** installed by your Buildozer setup, enter the '' | To check the **python-for-android (p4a) version** installed by your Buildozer setup, enter the '' | ||
| Line 294: | Line 315: | ||
| </ | </ | ||
| - | Update the the **Android dependencies** inside the project subdirectory **$HOME/ | + | Upgrading Buildozer will eventually upgrade also the python-for-android version. That **Android dependencies** |
| + | |||
| + | You may want to require a specific python-for-android version by declaring the **p4a.branch** option into the **buildozer.spec** file: | ||
| + | |||
| + | < | ||
| + | # Use the default version: | ||
| + | #p4a.branch = master | ||
| + | # Use a specific p4a version: | ||
| + | #p4a.branch = v2024.03.12 | ||
| + | # Use the develop version: | ||
| + | #p4a.branch = develop | ||
| + | </ | ||
| + | |||
| + | Remember to refresh the build environment with the '' | ||
| + | |||
| + | ==== Android SDK version ==== | ||
| + | |||
| + | All the SDKs downloaded will be stored into **$HOME/ | ||
| + | |||
| + | The SDK used to compile a specific package depends upon the **android.api** option you declared into the **buildozer.spec** file. | ||
| < | < | ||
| Line 301: | Line 341: | ||
| # In the spec file set e.g. android.api = 35 | # In the spec file set e.g. android.api = 35 | ||
| buildozer android update | buildozer android update | ||
| + | buildozer android clean | ||
| </ | </ | ||
| - | The above command **does not update Buildozer** nor **python-for-android**, | + | The above command **does not update Buildozer** nor **python-for-android**, |
| + | |||
| + | ==== Kivy version ==== | ||
| + | |||
| + | Usually you just declare that you need Kivy to compile the project by including it into the **requirements** of **buildozer.spec**: | ||
| + | |||
| + | < | ||
| + | requirements = python3, | ||
| + | </ | ||
| + | |||
| + | You may be version specific with the syntax: | ||
| + | |||
| + | < | ||
| + | requirements = python3, | ||
| + | </ | ||
| + | |||
| + | To inspect what version of Kivy was used in building the package, look into the prokect directory: **.buildozer/ | ||
| + | |||
| + | |||
| + | ==== Recompile with the updated components ==== | ||
| + | |||
| + | Once you updated some components, be sure to clean the build environment: | ||
| + | |||
| + | < | ||
| + | buildozer android clean | ||
| + | </ | ||
| Once you recompiled the app, look into the project **$HOME/ | Once you recompiled the app, look into the project **$HOME/ | ||
| Line 313: | Line 379: | ||
| </ | </ | ||
| - | If the **targetSdkVersion** did not upgrade as expected, verify you issued the command | + | If the **targetSdkVersion** did not upgrade as expected, verify you issued the '' |
| - | + | ||
| - | < | + | |
| - | buildozer android | + | |
| - | </ | + | |
| Other generally unnecessary cleaning commands are: | Other generally unnecessary cleaning commands are: | ||
doc/appunti/prog/kivy_debian_12_android_11.1763311062.txt.gz · Last modified: by niccolo
