kivy / python-for-android

Turn your Python application into an Android APK
https://python-for-android.readthedocs.io
MIT License
8.33k stars 1.85k forks source link

Android x86_64 instant crash with hello world app, missing zlib #2460

Open DarkionAvey opened 3 years ago

DarkionAvey commented 3 years ago

Checklist

Versions

Description

I am trying to build a hello world app using p4a for Android x86_64. The build completes successfully and without any warnings. However, when the app launches, it crashes on splash screen. Specifically, the app crashes at set wchar paths.

When building for x86 (or arm), everything works as expected and the app finishes at "Python for android ended".

I replicated the issue using p4a from pip as well as the dev version (master).

Upon futher insepction, I noticed that the build for x86_64 does not have zlib.cpython-38.so whereas other archs do have this library. I am certain that the missing zlib is the cause for this crash, however, I don't know why it is not generated for x86_64

buildozer.spec

N/A; using p4a directly from terminal (see command below), although I've replicated this using buildozer and got the same result.

Command:

This command generates working app (x86)

p4a apk --private $HOME/Desktop/myapp --package=sdl.app.test --name "My SDL Application" --version 0.1 --bootstrap=sdl2 --requirements=python3,openssl --android-api 30 --ndk-version 21d --arch x86

This doesn't (x86_64)

p4a apk --private $HOME/Desktop/myapp --package=sdl.app.test --name "My SDL Application" --version 0.1 --bootstrap=sdl2 --requirements=python3,openssl --android-api 30 --ndk-version 21d --arch x86_64

Logs

2021-05-30 15:21:50.239 28069-28069/sdl.app.test V/PythonActivity: PythonActivity onCreate running
2021-05-30 15:21:50.240 28069-28069/sdl.app.test V/PythonActivity: About to do super onCreate
2021-05-30 15:21:50.240 28069-28069/sdl.app.test V/SDL: Device: generic_x86_64
2021-05-30 15:21:50.240 28069-28069/sdl.app.test V/SDL: Model: Android SDK built for x86_64
2021-05-30 15:21:50.240 28069-28069/sdl.app.test V/SDL: onCreate()
2021-05-30 15:21:50.240 28069-28069/sdl.app.test V/PythonActivity: Did super onCreate
2021-05-30 15:21:50.240 28069-28069/sdl.app.test V/SDL: getting identifier
2021-05-30 15:21:50.240 28069-28069/sdl.app.test V/SDL: kind is drawable and name presplash
2021-05-30 15:21:50.241 28069-28069/sdl.app.test V/SDL: result is 2130771970
2021-05-30 15:21:50.255 28069-28069/sdl.app.test V/SDL: asked to get string presplash_color
2021-05-30 15:21:50.255 28069-28069/sdl.app.test V/SDL: getting identifier
2021-05-30 15:21:50.255 28069-28069/sdl.app.test V/SDL: kind is string and name presplash_color
2021-05-30 15:21:50.255 28069-28069/sdl.app.test V/SDL: result is 2130968577
2021-05-30 15:21:50.288 28069-28094/sdl.app.test V/PythonActivity: Ready to unpack
2021-05-30 15:21:50.289 28069-28094/sdl.app.test V/pythonactivityutil: UNPACKING!!! private app
2021-05-30 15:21:50.289 28069-28094/sdl.app.test V/SDL: asked to get string private_version
2021-05-30 15:21:50.289 28069-28094/sdl.app.test V/SDL: getting identifier
2021-05-30 15:21:50.289 28069-28094/sdl.app.test V/SDL: kind is string and name private_version
2021-05-30 15:21:50.289 28069-28094/sdl.app.test V/SDL: result is 2130968578
2021-05-30 15:21:50.289 28069-28094/sdl.app.test V/pythonactivityutil: Data version is 1622374545.0551336
2021-05-30 15:21:50.296 28069-28069/sdl.app.test V/PythonActivity: onResume()
2021-05-30 15:21:50.296 28069-28069/sdl.app.test V/SDL: onResume()
2021-05-30 15:21:50.297 28069-28069/sdl.app.test D/OpenGLRenderer: Skia GL Pipeline
2021-05-30 15:21:50.308 1769-1908/? E/SurfaceFlinger: ro.sf.lcd_density must be defined as a build property
2021-05-30 15:21:50.323 28069-28069/sdl.app.test V/pythonutil: Checking pattern libsqlite3\.so against libcrypto1.1.so
2021-05-30 15:21:50.323 28069-28069/sdl.app.test V/pythonutil: Checking pattern libsqlite3\.so against libsqlite3.so
2021-05-30 15:21:50.324 28069-28069/sdl.app.test V/pythonutil: Pattern libsqlite3\.so matched file libsqlite3.so
2021-05-30 15:21:50.325 28069-28069/sdl.app.test V/pythonutil: Checking pattern libsqlite3\.so against libSDL2_image.so
2021-05-30 15:21:50.326 28069-28069/sdl.app.test V/pythonutil: Checking pattern libsqlite3\.so against libpython3.8m.so
2021-05-30 15:21:50.326 28069-28069/sdl.app.test V/pythonutil: Checking pattern libsqlite3\.so against libssl1.1.so
2021-05-30 15:21:50.326 28069-28069/sdl.app.test V/pythonutil: Checking pattern libsqlite3\.so against libmain.so
2021-05-30 15:21:50.326 28069-28069/sdl.app.test V/pythonutil: Checking pattern libsqlite3\.so against libSDL2_ttf.so
2021-05-30 15:21:50.327 28069-28069/sdl.app.test V/pythonutil: Checking pattern libsqlite3\.so against libhidapi.so
2021-05-30 15:21:50.327 28069-28069/sdl.app.test V/pythonutil: Checking pattern libsqlite3\.so against libSDL2_mixer.so
2021-05-30 15:21:50.327 28069-28069/sdl.app.test V/pythonutil: Checking pattern libsqlite3\.so against libSDL2.so
2021-05-30 15:21:50.327 28069-28069/sdl.app.test V/pythonutil: Checking pattern libsqlite3\.so against libffi.so
2021-05-30 15:21:50.328 28069-28069/sdl.app.test V/pythonutil: Checking pattern libffi\.so against libcrypto1.1.so
2021-05-30 15:21:50.328 28069-28069/sdl.app.test V/pythonutil: Checking pattern libffi\.so against libsqlite3.so
2021-05-30 15:21:50.329 28069-28069/sdl.app.test V/pythonutil: Checking pattern libffi\.so against libSDL2_image.so
2021-05-30 15:21:50.329 28069-28069/sdl.app.test V/pythonutil: Checking pattern libffi\.so against libpython3.8m.so
2021-05-30 15:21:50.329 28069-28069/sdl.app.test V/pythonutil: Checking pattern libffi\.so against libssl1.1.so
2021-05-30 15:21:50.331 28069-28069/sdl.app.test V/pythonutil: Checking pattern libffi\.so against libmain.so
2021-05-30 15:21:50.331 28069-28069/sdl.app.test V/pythonutil: Checking pattern libffi\.so against libSDL2_ttf.so
2021-05-30 15:21:50.333 28069-28069/sdl.app.test V/pythonutil: Checking pattern libffi\.so against libhidapi.so
2021-05-30 15:21:50.333 28069-28069/sdl.app.test V/pythonutil: Checking pattern libffi\.so against libSDL2_mixer.so
2021-05-30 15:21:50.333 28069-28069/sdl.app.test V/pythonutil: Checking pattern libffi\.so against libSDL2.so
2021-05-30 15:21:50.333 28069-28069/sdl.app.test V/pythonutil: Checking pattern libffi\.so against libffi.so
2021-05-30 15:21:50.333 28069-28069/sdl.app.test V/pythonutil: Pattern libffi\.so matched file libffi.so
2021-05-30 15:21:50.334 28069-28069/sdl.app.test V/pythonutil: Checking pattern libpng16\.so against libcrypto1.1.so
2021-05-30 15:21:50.334 28069-28069/sdl.app.test V/pythonutil: Checking pattern libpng16\.so against libsqlite3.so
2021-05-30 15:21:50.335 28069-28069/sdl.app.test V/pythonutil: Checking pattern libpng16\.so against libSDL2_image.so
2021-05-30 15:21:50.335 28069-28069/sdl.app.test V/pythonutil: Checking pattern libpng16\.so against libpython3.8m.so
2021-05-30 15:21:50.335 28069-28069/sdl.app.test V/pythonutil: Checking pattern libpng16\.so against libssl1.1.so
2021-05-30 15:21:50.336 28069-28069/sdl.app.test V/pythonutil: Checking pattern libpng16\.so against libmain.so
2021-05-30 15:21:50.336 28069-28069/sdl.app.test V/pythonutil: Checking pattern libpng16\.so against libSDL2_ttf.so
2021-05-30 15:21:50.336 28069-28069/sdl.app.test V/pythonutil: Checking pattern libpng16\.so against libhidapi.so
2021-05-30 15:21:50.337 28069-28069/sdl.app.test V/pythonutil: Checking pattern libpng16\.so against libSDL2_mixer.so
2021-05-30 15:21:50.340 28069-28069/sdl.app.test V/pythonutil: Checking pattern libpng16\.so against libSDL2.so
2021-05-30 15:21:50.340 28069-28069/sdl.app.test V/pythonutil: Checking pattern libpng16\.so against libffi.so
2021-05-30 15:21:50.342 28069-28069/sdl.app.test V/pythonutil: Checking pattern libssl.*\.so against libcrypto1.1.so
2021-05-30 15:21:50.342 28069-28069/sdl.app.test V/pythonutil: Checking pattern libssl.*\.so against libsqlite3.so
2021-05-30 15:21:50.342 28069-28069/sdl.app.test V/pythonutil: Checking pattern libssl.*\.so against libSDL2_image.so
2021-05-30 15:21:50.342 28069-28069/sdl.app.test V/pythonutil: Checking pattern libssl.*\.so against libpython3.8m.so
2021-05-30 15:21:50.343 28069-28069/sdl.app.test V/pythonutil: Checking pattern libssl.*\.so against libssl1.1.so
2021-05-30 15:21:50.344 28069-28069/sdl.app.test V/pythonutil: Pattern libssl.*\.so matched file libssl1.1.so
2021-05-30 15:21:50.344 28069-28069/sdl.app.test V/pythonutil: Checking pattern libssl.*\.so against libmain.so
2021-05-30 15:21:50.344 28069-28069/sdl.app.test V/pythonutil: Checking pattern libssl.*\.so against libSDL2_ttf.so
2021-05-30 15:21:50.344 28069-28069/sdl.app.test V/pythonutil: Checking pattern libssl.*\.so against libhidapi.so
2021-05-30 15:21:50.345 28069-28069/sdl.app.test V/pythonutil: Checking pattern libssl.*\.so against libSDL2_mixer.so
2021-05-30 15:21:50.345 28069-28069/sdl.app.test V/pythonutil: Checking pattern libssl.*\.so against libSDL2.so
2021-05-30 15:21:50.345 28069-28069/sdl.app.test V/pythonutil: Checking pattern libssl.*\.so against libffi.so
2021-05-30 15:21:50.345 28069-28069/sdl.app.test V/pythonutil: Checking pattern libcrypto.*\.so against libcrypto1.1.so
2021-05-30 15:21:50.346 28069-28069/sdl.app.test V/pythonutil: Pattern libcrypto.*\.so matched file libcrypto1.1.so
2021-05-30 15:21:50.346 28069-28069/sdl.app.test V/pythonutil: Checking pattern libcrypto.*\.so against libsqlite3.so
2021-05-30 15:21:50.346 28069-28069/sdl.app.test V/pythonutil: Checking pattern libcrypto.*\.so against libSDL2_image.so
2021-05-30 15:21:50.346 28069-28069/sdl.app.test V/pythonutil: Checking pattern libcrypto.*\.so against libpython3.8m.so
2021-05-30 15:21:50.347 28069-28069/sdl.app.test V/pythonutil: Checking pattern libcrypto.*\.so against libssl1.1.so
2021-05-30 15:21:50.347 28069-28069/sdl.app.test V/pythonutil: Checking pattern libcrypto.*\.so against libmain.so
2021-05-30 15:21:50.347 28069-28069/sdl.app.test V/pythonutil: Checking pattern libcrypto.*\.so against libSDL2_ttf.so
2021-05-30 15:21:50.347 28069-28069/sdl.app.test V/pythonutil: Checking pattern libcrypto.*\.so against libhidapi.so
2021-05-30 15:21:50.347 28069-28069/sdl.app.test V/pythonutil: Checking pattern libcrypto.*\.so against libSDL2_mixer.so
2021-05-30 15:21:50.347 28069-28069/sdl.app.test V/pythonutil: Checking pattern libcrypto.*\.so against libSDL2.so
2021-05-30 15:21:50.347 28069-28069/sdl.app.test V/pythonutil: Checking pattern libcrypto.*\.so against libffi.so
2021-05-30 15:21:50.350 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2\.so against libcrypto1.1.so
2021-05-30 15:21:50.351 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2\.so against libsqlite3.so
2021-05-30 15:21:50.351 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2\.so against libSDL2_image.so
2021-05-30 15:21:50.351 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2\.so against libpython3.8m.so
2021-05-30 15:21:50.352 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2\.so against libssl1.1.so
2021-05-30 15:21:50.352 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2\.so against libmain.so
2021-05-30 15:21:50.352 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2\.so against libSDL2_ttf.so
2021-05-30 15:21:50.359 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2\.so against libhidapi.so
2021-05-30 15:21:50.359 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2\.so against libSDL2_mixer.so
2021-05-30 15:21:50.360 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2\.so against libSDL2.so
2021-05-30 15:21:50.360 28069-28069/sdl.app.test V/pythonutil: Pattern libSDL2\.so matched file libSDL2.so
2021-05-30 15:21:50.360 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2\.so against libffi.so
2021-05-30 15:21:50.361 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_image\.so against libcrypto1.1.so
2021-05-30 15:21:50.361 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_image\.so against libsqlite3.so
2021-05-30 15:21:50.361 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_image\.so against libSDL2_image.so
2021-05-30 15:21:50.361 28069-28069/sdl.app.test V/pythonutil: Pattern libSDL2_image\.so matched file libSDL2_image.so
2021-05-30 15:21:50.362 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_image\.so against libpython3.8m.so
2021-05-30 15:21:50.362 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_image\.so against libssl1.1.so
2021-05-30 15:21:50.362 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_image\.so against libmain.so
2021-05-30 15:21:50.362 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_image\.so against libSDL2_ttf.so
2021-05-30 15:21:50.362 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_image\.so against libhidapi.so
2021-05-30 15:21:50.362 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_image\.so against libSDL2_mixer.so
2021-05-30 15:21:50.362 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_image\.so against libSDL2.so
2021-05-30 15:21:50.362 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_image\.so against libffi.so
2021-05-30 15:21:50.363 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_mixer\.so against libcrypto1.1.so
2021-05-30 15:21:50.363 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_mixer\.so against libsqlite3.so
2021-05-30 15:21:50.363 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_mixer\.so against libSDL2_image.so
2021-05-30 15:21:50.363 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_mixer\.so against libpython3.8m.so
2021-05-30 15:21:50.363 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_mixer\.so against libssl1.1.so
2021-05-30 15:21:50.363 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_mixer\.so against libmain.so
2021-05-30 15:21:50.364 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_mixer\.so against libSDL2_ttf.so
2021-05-30 15:21:50.364 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_mixer\.so against libhidapi.so
2021-05-30 15:21:50.364 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_mixer\.so against libSDL2_mixer.so
2021-05-30 15:21:50.364 28069-28069/sdl.app.test V/pythonutil: Pattern libSDL2_mixer\.so matched file libSDL2_mixer.so
2021-05-30 15:21:50.364 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_mixer\.so against libSDL2.so
2021-05-30 15:21:50.365 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_mixer\.so against libffi.so
2021-05-30 15:21:50.365 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_ttf\.so against libcrypto1.1.so
2021-05-30 15:21:50.365 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_ttf\.so against libsqlite3.so
2021-05-30 15:21:50.365 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_ttf\.so against libSDL2_image.so
2021-05-30 15:21:50.366 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_ttf\.so against libpython3.8m.so
2021-05-30 15:21:50.366 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_ttf\.so against libssl1.1.so
2021-05-30 15:21:50.366 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_ttf\.so against libmain.so
2021-05-30 15:21:50.366 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_ttf\.so against libSDL2_ttf.so
2021-05-30 15:21:50.366 28069-28069/sdl.app.test V/pythonutil: Pattern libSDL2_ttf\.so matched file libSDL2_ttf.so
2021-05-30 15:21:50.366 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_ttf\.so against libhidapi.so
2021-05-30 15:21:50.366 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_ttf\.so against libSDL2_mixer.so
2021-05-30 15:21:50.366 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_ttf\.so against libSDL2.so
2021-05-30 15:21:50.366 28069-28069/sdl.app.test V/pythonutil: Checking pattern libSDL2_ttf\.so against libffi.so
2021-05-30 15:21:50.367 28069-28069/sdl.app.test V/pythonutil: Loading library: sqlite3
2021-05-30 15:21:50.385 28069-28069/sdl.app.test V/pythonutil: Loading library: ffi
2021-05-30 15:21:50.394 28069-28069/sdl.app.test V/pythonutil: Loading library: ssl1.1
2021-05-30 15:21:50.428 28069-28069/sdl.app.test V/pythonutil: Loading library: crypto1.1
2021-05-30 15:21:50.441 28069-28069/sdl.app.test V/pythonutil: Loading library: SDL2
2021-05-30 15:21:50.455 28069-28069/sdl.app.test V/pythonutil: Loading library: SDL2_image
2021-05-30 15:21:50.463 28069-28069/sdl.app.test V/pythonutil: Loading library: SDL2_mixer
2021-05-30 15:21:50.465 28069-28069/sdl.app.test V/pythonutil: Loading library: SDL2_ttf
2021-05-30 15:21:50.466 28069-28069/sdl.app.test V/pythonutil: Loading library: python3.5m
2021-05-30 15:21:50.468 28069-28069/sdl.app.test V/pythonutil: Library loading error: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/sdl.app.test-BYsKexGD4SXn4RZEgXQqAQ==/base.apk"],nativeLibraryDirectories=[/data/app/sdl.app.test-BYsKexGD4SXn4RZEgXQqAQ==/lib/x86_64, /data/app/sdl.app.test-BYsKexGD4SXn4RZEgXQqAQ==/base.apk!/lib/x86_64, /system/lib64]]] couldn't find "libpython3.5m.so"
2021-05-30 15:21:50.468 28069-28069/sdl.app.test V/pythonutil: Loading library: python3.6m
2021-05-30 15:21:50.469 28069-28069/sdl.app.test V/pythonutil: Library loading error: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/sdl.app.test-BYsKexGD4SXn4RZEgXQqAQ==/base.apk"],nativeLibraryDirectories=[/data/app/sdl.app.test-BYsKexGD4SXn4RZEgXQqAQ==/lib/x86_64, /data/app/sdl.app.test-BYsKexGD4SXn4RZEgXQqAQ==/base.apk!/lib/x86_64, /system/lib64]]] couldn't find "libpython3.6m.so"
2021-05-30 15:21:50.469 28069-28069/sdl.app.test V/pythonutil: Loading library: python3.7m
2021-05-30 15:21:50.470 28069-28069/sdl.app.test V/pythonutil: Library loading error: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/sdl.app.test-BYsKexGD4SXn4RZEgXQqAQ==/base.apk"],nativeLibraryDirectories=[/data/app/sdl.app.test-BYsKexGD4SXn4RZEgXQqAQ==/lib/x86_64, /data/app/sdl.app.test-BYsKexGD4SXn4RZEgXQqAQ==/base.apk!/lib/x86_64, /system/lib64]]] couldn't find "libpython3.7m.so"
2021-05-30 15:21:50.470 28069-28069/sdl.app.test V/pythonutil: Loading library: python3.8m
2021-05-30 15:21:50.474 28069-28069/sdl.app.test V/pythonutil: Loading library: main
2021-05-30 15:21:50.475 28069-28069/sdl.app.test V/pythonutil: Loaded everything!
2021-05-30 15:21:50.477 28069-28069/sdl.app.test V/SDL: nativeSetupJNI()
2021-05-30 15:21:50.479 28069-28069/sdl.app.test V/SDL: AUDIO nativeSetupJNI()
2021-05-30 15:21:50.481 28069-28069/sdl.app.test V/SDL: CONTROLLER nativeSetupJNI()
2021-05-30 15:21:50.496 28069-28069/sdl.app.test D/hidapi: Initializing Bluetooth
2021-05-30 15:21:50.496 28069-28069/sdl.app.test D/hidapi: Couldn't initialize Bluetooth, missing android.permission.BLUETOOTH
2021-05-30 15:21:50.502 2103-2325/? D/EGL_emulation: eglMakeCurrent: 0x74b93b837b80: ver 3 0 (tinfo 0x74b93b87e860)
2021-05-30 15:21:50.509 2103-2325/? D/EGL_emulation: eglMakeCurrent: 0x74b93b837b80: ver 3 0 (tinfo 0x74b93b87e860)
2021-05-30 15:21:50.512 28069-28069/sdl.app.test V/PythonActivity: Setting env vars for start.c and Python to use
2021-05-30 15:21:50.512 28069-28069/sdl.app.test V/PythonActivity: Access to our meta-data...
2021-05-30 15:21:50.514 28069-28069/sdl.app.test I/PythonActivity: Surface will NOT be transparent
2021-05-30 15:21:50.514 28069-28069/sdl.app.test V/PythonActivity: onResume()
2021-05-30 15:21:50.514 28069-28069/sdl.app.test V/SDL: onResume()
2021-05-30 15:21:50.521 2103-2325/? D/EGL_emulation: eglMakeCurrent: 0x74b93b837b80: ver 3 0 (tinfo 0x74b93b87e860)
2021-05-30 15:21:50.532 2103-2325/? I/chatty: uid=10019(com.android.systemui) RenderThread identical 1 line
2021-05-30 15:21:50.541 2103-2325/? D/EGL_emulation: eglMakeCurrent: 0x74b93b837b80: ver 3 0 (tinfo 0x74b93b87e860)
2021-05-30 15:21:50.553 2103-2325/? D/EGL_emulation: eglMakeCurrent: 0x74b93b837b80: ver 3 0 (tinfo 0x74b93b87e860)
2021-05-30 15:21:50.554 28069-28095/sdl.app.test I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
2021-05-30 15:21:50.554 28069-28095/sdl.app.test I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
2021-05-30 15:21:50.554 28069-28095/sdl.app.test I/OpenGLRenderer: Initialized EGL, version 1.4
2021-05-30 15:21:50.554 28069-28095/sdl.app.test D/OpenGLRenderer: Swap behavior 1
2021-05-30 15:21:50.555 28069-28095/sdl.app.test W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
2021-05-30 15:21:50.555 28069-28095/sdl.app.test D/OpenGLRenderer: Swap behavior 0
2021-05-30 15:21:50.557 28069-28069/sdl.app.test V/SDL: surfaceCreated()
2021-05-30 15:21:50.557 28069-28069/sdl.app.test V/SDL: surfaceChanged()
2021-05-30 15:21:50.557 28069-28069/sdl.app.test V/SDL: pixel format RGB_565
2021-05-30 15:21:50.557 28069-28069/sdl.app.test V/SDL: Window size: 1080x1794
2021-05-30 15:21:50.558 28069-28069/sdl.app.test V/SDL: Device size: 1080x1920
2021-05-30 15:21:50.561 28069-28069/sdl.app.test V/SDL: nativeResume()
2021-05-30 15:21:50.562 28069-28097/sdl.app.test V/SDL: Running main function SDL_main from library /data/app/sdl.app.test-BYsKexGD4SXn4RZEgXQqAQ==/lib/x86_64/libmain.so
2021-05-30 15:21:50.562 28069-28097/sdl.app.test V/PythonActivity: appConfirmedActive() -> preparing loading screen removal
2021-05-30 15:21:50.563 28069-28097/sdl.app.test V/SDL: nativeRunMain()
2021-05-30 15:21:50.564 28069-28097/sdl.app.test I/python: Initializing Python for Android
2021-05-30 15:21:50.564 28069-28097/sdl.app.test I/python: Setting additional env vars from p4a_env_vars.txt
2021-05-30 15:21:50.564 28069-28097/sdl.app.test I/python: Changing directory to the one provided by ANDROID_ARGUMENT
2021-05-30 15:21:50.564 28069-28097/sdl.app.test I/python: /data/user/0/sdl.app.test/files/app
2021-05-30 15:21:50.564 28069-28097/sdl.app.test I/python: Preparing to initialize python
2021-05-30 15:21:50.565 28069-28097/sdl.app.test I/python: _python_bundle dir exists
2021-05-30 15:21:50.565 28069-28097/sdl.app.test I/python: calculated paths to be...
2021-05-30 15:21:50.565 28069-28097/sdl.app.test I/python: /data/user/0/sdl.app.test/files/app/_python_bundle/stdlib.zip:/data/user/0/sdl.app.test/files/app/_python_bundle/modules
2021-05-30 15:21:50.565 28069-28097/sdl.app.test I/python: **set wchar paths...**
2021-05-30 15:21:50.572 28069-28095/sdl.app.test D/EGL_emulation: eglCreateContext: 0x74b93b8724a0: maj 3 min 0 rcv 3
2021-05-30 15:21:50.602 2103-2325/? D/EGL_emulation: eglMakeCurrent: 0x74b93b837b80: ver 3 0 (tinfo 0x74b93b87e860)
2021-05-30 15:21:50.604 28069-28095/sdl.app.test D/EGL_emulation: eglMakeCurrent: 0x74b93b8724a0: ver 3 0 (tinfo 0x74b93b80dc60)
2021-05-30 15:21:50.613 1769-1790/? E/SurfaceFlinger: ro.sf.lcd_density must be defined as a build property
2021-05-30 15:21:50.615 2103-2325/? D/EGL_emulation: eglMakeCurrent: 0x74b93b837b80: ver 3 0 (tinfo 0x74b93b87e860)
2021-05-30 15:21:50.637 2103-2325/? D/EGL_emulation: eglMakeCurrent: 0x74b93b837b80: ver 3 0 (tinfo 0x74b93b87e860)
2021-05-30 15:21:50.639 1797-1797/? D/gralloc_ranchu: gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread)
2021-05-30 15:21:50.640 1797-1797/? D/gralloc_ranchu: gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread)
2021-05-30 15:21:50.641 1797-1797/? D/gralloc_ranchu: gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread)
2021-05-30 15:21:50.642 1797-1797/? D/gralloc_ranchu: gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread)
2021-05-30 15:21:50.643 1797-1797/? D/gralloc_ranchu: gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread)
2021-05-30 15:21:50.643 2103-2325/? D/EGL_emulation: eglMakeCurrent: 0x74b93b837b80: ver 3 0 (tinfo 0x74b93b87e860)
2021-05-30 15:21:50.644 1797-1797/? D/gralloc_ranchu: gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread)
2021-05-30 15:21:50.656 28069-28095/sdl.app.test E/EGL_emulation: tid 28095: eglGetConfigAttrib(980): error 0x3001 (EGL_NOT_INITIALIZED)
2021-05-30 15:21:50.656 28069-28095/sdl.app.test I/chatty: uid=10089(sdl.app.test) RenderThread identical 3 lines
2021-05-30 15:21:50.657 28069-28095/sdl.app.test E/EGL_emulation: tid 28095: eglGetConfigAttrib(980): error 0x3001 (EGL_NOT_INITIALIZED)
2021-05-30 15:21:50.657 28069-28095/sdl.app.test E/EGL_emulation: tid 28095: eglCreateWindowSurface(998): error 0x3001 (EGL_NOT_INITIALIZED)
2021-05-30 15:21:50.659 28069-28095/sdl.app.test A/OpenGLRenderer: Failed to create EGLSurface for window 0x74b939f40010, eglErr = EGL_NOT_INITIALIZED

    --------- beginning of crash
2021-05-30 15:21:50.659 28069-28095/sdl.app.test A/libc: Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 28095 (RenderThread), pid 28069 (sdl.app.test)

main.py

print("hello world")

.bashrc

export ANDROIDSDK=/home/bbwi/.buildozer/android/platform/android-sdk
export ANDROIDNDK=/home/bbwi/.buildozer/android/platform/android-ndk-r21d
export ANDROIDAPI="30"
export NDKAPI="21" 
export ANDROIDNDKVER="r21d"
DarkionAvey commented 3 years ago

Thanks to the hint by @83-p, p4a generated zlib for x86_64 and the app launched as expected without crashes

If arch is x86_64, the NDK library path will be /usr/lib64. Pillow recipes need to change ndk_lib_dir = join(self.ctx.ndk_platform, 'usr', 'lib') to ndk_lib_dir = join(self.ctx.ndk_platform, 'usr', 'lib64'). Please change zlib_lib_path = join(self.ctx.ndk_platform, 'usr', 'lib') to zlib_lib_path = join(self.ctx.ndk_platform, 'usr', 'lib64') for the Python3 recipe. Other recipes also need to check the NDK library path.

To ensure that you changed all required recipes, use grep -r "'usr', 'lib'" ." and change all relevant files to 'lib64'

Perhaps p4a should automatically default to lib64 folder if arch is 64bit

akshayaurora commented 2 years ago

This is still present and should be fixed in p4a

DarkionAvey commented 2 years ago

This is still present and should be fixed in p4a

Does the solution I provided still work? If so, maybe someone could make a pr out of it