Skip to content

Recipe request: h3 for Android / timezonefinder 8.x fails with x86_64 h3 .so in arm64-v8a APK #3348

Description

@gaxmann

I have been told to be free to request a working python-for-android recipe for h3.

The practical issue is that current timezonefinder versions depend on h3. With Buildozer / python-for-android, the APK builds, but the application crashes at runtime on an Android arm64 device because the packaged h3 native extension is for x86_64 instead of ARM64.

For now I have to pin:

timezonefinder==4.4.1

because newer timezonefinder versions pull in h3. I am not sure how long this is viable.

Runtime error

On Android, importing timezonefinder imports h3, and this fails:

ImportError: dlopen failed: "/data/data/xx.xx.xx/files/app/_python_bundle/site-packages/h3/_cy/cells.so" is for EM_X86_64 (62) instead of EM_AARCH64 (183)

Relevant traceback:

File ".../timezonefinder/__init__.py", line 1, in <module>
File ".../timezonefinder/timezonefinder.py", line 22, in <module>
File ".../h3/__init__.py", line 3, in <module>
File ".../h3/api/__init__.py", line 3, in <module>
File ".../h3/api/basic_int/__init__.py", line 5, in <module>
File ".../h3/_cy/__init__.py", line 16, in <module>
ImportError: dlopen failed: ".../h3/_cy/cells.so" is for EM_X86_64 (62) instead of EM_AARCH64 (183)

Environment

OS: Linux Mint / Ubuntu 24.04 base
Python: 3.12.3 virtualenv
Buildozer: 1.6.1.dev0 from git
python-for-android branch: develop
python-for-android commit: 70f92243
Android API: 36
Android min API: 24
Android NDK: r28c
Target architecture: arm64-v8a / armeabi-v7a
Device: arm64 Android device

Relevant requirements

In the real project this happens with:

requirements = python3,kivy==2.3.1,android,jpeg,pillow,olefile,pytz,skyfield,numpy,jplephem,sgp4,h3,timezonefinder

A reduced version could look like this:

requirements = python3,kivy==2.3.1,android,numpy,h3,timezonefinder

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions