使用 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
选项。只需在此处添加文件扩展名即可。
我正在尝试使用 .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
选项。只需在此处添加文件扩展名即可。