使用Buildozer构建.so文件

时间:2015-06-18 05:24:45

标签: android python kivy buildozer

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

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文件夹中。除此之外,我似乎无法将文件复制到正确的位置。我错过了什么?

1 个答案:

答案 0 :(得分:0)

答案非常明显。我完全错过了source.include_exts选项。所有人必须做的就是在那里添加文件扩展名。