Python For Android Versions Save

Turn your Python application into an Android APK

v2024.01.21

3 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/kivy/python-for-android/compare/v2023.09.16...v2024.01.21

v2023.09.16

7 months ago

Highlights

  • This is the last python-for-android release that targets Python 3.10 by default. The next release will switch to Python 3.11

What's Changed

New Contributors

Full Changelog: https://github.com/kivy/python-for-android/compare/v2023.05.21...v2023.09.16

v2023.05.21

11 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/kivy/python-for-android/compare/v2023.02.10...v2023.05.21

v2023.02.10

1 year ago

Highlights:

  • sh version has been restricted to sh>=1.10, <2.0;, as sh>2.0 is incompatible. We will migrate our code accordingly in the future.
  • pydantic recipe has been updated.

Full changelog:

v2023.01.28

1 year ago

Highlights:

  • scypt recipe has been updated.
  • --orientation option controls the allowed orientations (portrait, landscape, portrait-reverse, landscape-reverse). The allowed orientations list is then set to KIVY_ORIENTATION environment variable, which is used during window setup time to populate the SDL_HINT_ORIENTATIONS value, as we're doing for other platforms.
  • --manifest-orientation option has been added to keep the android:screenOrientation personalisation functionality, even if Android will be likely deprecate this attribute in future.
  • If --manifest-orientation is not set, and only (one of multiple) --orientation options are passed, the value for android:screenOrientationis guessed and synthesized from the --orientation option. Sinceandroid:screenOrientationaccepts only 1 value, if multiple--orientationare given,android:screenOrientation` will be set to unspecified.
  • Introduced support for permission properties (maxSdkVersion and usesPermissionFlags)

Full changelog:

  • Implements --manifest-orientation and changes how --orientation works so we can now pass the setting to the SDL orientation hint #2739 (misl6)
  • Update __init__.py from scrypt recipe #2738 (FilipeMarch)
  • Apply a patch from SDL upstream that fixes orientation settings #2730 (misl6)
  • Support permission properties (maxSdkVersion and usesPermissionFlags) + remove WRITE_EXTERNAL_STORAGE permission, which has been previously declared by default #2725 (misl6)
  • Merge master in develop #2721 (misl6)

v2022.12.20

1 year ago

Highlights:

  • Minimal and recommended Android NDK version is now 25b
  • MIN_TARGET_API has been updated to 30 and RECOMMENDED_TARGET_API in order to comply with Google Play Store requirements.
  • android.activity now offers Application.ActivityLifecycleCallbacks helpers.
  • SDL2, SDL2_ttf, SDL2_mixer, SDL2_image recipes has been updated to latest stable releases.
  • Now service notifications are highly customisable!

Full changelog:

  • InputType.TYPE_TEXT_FLAG_MULTI_LINE forces InputType.TYPE_TEXT even if SDLActivity.keyboardInputType is NULL #2716 (misl6)
  • secp256k1 Update "--host=" #2714 (RobertFlatt)
  • Delete pythonforandroid/recipes/cdecimal directory #2713 (RobertFlatt)
  • Bump sdl2 version to 2.26.1 #2712 (misl6)
  • Flake8 does not support inline comments for any of the keys. #2708 (misl6)
  • Gradle: Run the clean task before anything else to make sure nothing is cached. #2705 (misl6)
  • Custom Service notification #2703 (RobertFlatt)
  • Include paths for sdl2_mixer have changed. Added a method to return the right one. #2700 (misl6)
  • WRITE_EXTERNAL_STORAGE maxSdk #2694 (RobertFlatt)
  • Fixes an issue regarding blacklist and bytecode compile + some cleanup #2693 (misl6)
  • Bump to a version of SDL with patches for the TextInput / TextEditing (SDL 2.26.0) #2692 (misl6)
  • Make CI compile aiohttp again. #2690 (xavierfiechter)
  • Add resources #2684 (RobertFlatt)
  • Update MIN_TARGET_API to 30 and RECOMMENDED_TARGET_API to 33 #2683 (misl6)
  • recipe.download_file: implement shallow git cloning #2682 (SomberNight)
  • requirements: relax version bound on "pep517" #2680 (SomberNight)
  • Add new Android permissions #2677 (RobertFlatt)
  • Resize webview when keyboard is shown #2674 (dbnicholson)
  • Update SDL2, SDL2_ttf, SDL2_mixer, SDL2_image to latest releases #2673 (misl6)
  • Fixes libvpx build #2672 (misl6)
  • toml may not be available on systemwide python #2670 (misl6)
  • android/activity: Add Application.ActivityLifecycleCallbacks helpers #2669 (dbnicholson)
  • Bump minimal and recommended Android NDK version to 25b #2668 (misl6)
  • Include HOME in build environment #2582 (dbnicholson)

v2022.09.04

1 year ago

Highlights:

  • This is the last release that defaults to Python 3.9 when building hostpython3 and python3. The next one will target Python 3.10
  • This is the last release that uses Android NDK 23b by default, the next one will use Android NDK 25
  • This is the last release that defaults to target API 27, the next one will default to target API 31, following the new requirement from Google for apps that need to be distributed on Play Store.
  • In order to fully support API 31 and as a propaedeutic change for new features in Kivy, in the next release, python-for-android will use the new SDL2 releases.

Full changelog:

  • liblzma: Use p4a_install instead of install, as a file named INSTALL is already present. #2663 (misl6)
  • Force --platform=linux/amd64 in Dockerfile #2660 (misl6)
  • Remove six and enum34 dependency #2657 (misl6)
  • Update supported Python versions #2656 (misl6)
  • Fixes some E275 - assert is a keyword. #2647 (misl6)
  • Updates matplotlib, fixes an issue related to shared libc++ #2645 (misl6)
  • RTSP support for ffmpeg #2644 (alicakici1234)
  • Fixes TypeError: str.join() takes exactly one argument (2 given) in hostpython3/__init__.py", line 69 #2642 (Furtif)
  • Resolve absolute path to local recipes #2640 (dbnicholson)
  • Merges master into develop after release 2022.07.20 #2639 (misl6)
  • Fix webview Back button behaviour #2636 (interlark)
  • Add icon-bg and icon-fg to fix_args #2633 (danigm)
  • Remove stray - in output file name #2581 (dbnicholson)
  • Add option for adding files to res/xml without touching manifest #2330 (rambo)

v2022.07.20

1 year ago

Highlights:

  • NDK 23 + Gradle 7 support
  • Apple Silicon support (with NDK ≥ 24)
  • Use shutil.which instead of sh.which (fixes an issue introduced by sh==1.14.3
  • Updated scipy - lapack - numpy recipes
  • Added LEGACY_NDK option to build lapack/scipy recipes with a separate NDK
  • Now also webview and service bootstraps allow building multiarch artifacts.
  • macOS prerequisites are now handled automatically, except for NDK and SDK.
  • pythonforandroid.androidndk.AndroidNDK has been added in order to better handle NDK paths and configs.

Full changelog:

v2022.03.13

2 years ago

Highlights:

  • This is the first version of python-for-android that supports Android App Bundle (AAB) packaging
  • Kivy recipe now targets Kivy 2.1.0 which is now the latest stable version available.
  • AndroidManifest.tmpl.xml has been updated to support Android 12 devices.

Full changelog:

v2021.09.05

2 years ago