使用 Buildozer 构建 .so 文件

Building .so files with Buildozer

我正在尝试使用 .so 个文件构建 APK。当我 运行 buildozer android debug deploy run logcat > logcat.txt 时,我构建的应用程序在 phone 上崩溃,我得到以下输出:

E/linker  (18499): load_library(linker.cpp:757): library "/data/data/org.test.myapp/files/sdk/qi/../libqimessaging.so" not found
E/linker  (18499): load_library(linker.cpp:757): library "/data/data/org.test.myapp/files/sdk/qi/../libqipython.so" not found
E/linker  (18499): load_library(linker.cpp:757): library "/data/data/org.test.myapp/files/sdk/qi/../libqipython.so" not found
I/python  (18499):  Traceback (most recent call last):
I/python  (18499):    File "/home/dan/kivytest/.buildozer/android/app/main.py", line 7, in <module>
I/python  (18499):    File "/home/dan/kivytest/.buildozer/android/app/sdk/naoqi.py", line 7, in <module>
I/python  (18499):    File "/home/dan/kivytest/.buildozer/android/app/sdk/qi/__init__.py", line 72, in <module>
I/python  (18499):  ImportError: No module named _qi

在文件 sdk/qi/__init__.py 中包含了一堆 .so 文件。因为包含失败,后面的导入失败,应用程序崩溃。

我认为这是由于 .so 文件没有正确复制到 /data/data/org.test.myapp/files/sdk 文件夹。我不知道该怎么做。这是我到目前为止尝试过的:

android.add_src = /home/dan/kivytest/sdk
android.add_libs_armeabi = /home/dan/kivytest/sdk/*.so
android.library_references = /home/dan/kivytest/sdk

add_libs_armeabi 导致 .so 文件被复制到 APK 中的 lib/armebi 文件夹。除此之外,我似乎无法将文件复制到正确的位置。我错过了什么?

答案很明显。我完全错过了 source.include_exts 选项。只需在此处添加文件扩展名即可。