我正在尝试构建我的第一个 android 应用程序。我安装Kivy,buildozer和编码的“Hello World”作为这里。然后,我在此命令中输入“buildozer android debug”并抛出错误,“bla bla bla sdk directory is not specified”:
/usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=test2 --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/whiteblackgoose/PycharmProjects/mobileapp/test2/.buildozer/android/platform/build" --ndk-api=21
Run Code Online (Sandbox Code Playgroud)
所以我在命令中添加了一些参数并使其工作:
/usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=test2 --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/whiteblackgoose/PycharmProjects/mobileapp/test2/.buildozer/android/platform/build" --ndk-api=21 --sdk-dir=/home/whiteblackgoose/.buildozer/android/platform/android-sdk --ndk-dir=/home/whiteblackgoose/.buildozer/android/platform/android-ndk-r17c
Run Code Online (Sandbox Code Playgroud)
因此,当我尝试运行它时,它抛出了一个新错误:
File "/home/whiteblackgoose/PycharmProjects/mobileapp/test2/.buildozer/android/platform/build/build/other_builds/hostpython3/desktop/hostpython3/Lib/ctypes/__init__.py", line 7, in <module>
from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'
STDERR:
Run Code Online (Sandbox Code Playgroud)
我重新安装了 cython 并尝试导入 ctypes 和 _ctypes:
whiteblackgoose@whiteblackgoose-VirtualBox:~/PycharmProjects/mobileapp/test2$ python3
Python 3.6.8 (default, Jan 14 2019, 11:02:34)
[GCC 8.0.1 …Run Code Online (Sandbox Code Playgroud)