在 Ubuntu 12.04 上使用 Kivy 和 Buildozer 制作 apk
Posted
技术标签:
【中文标题】在 Ubuntu 12.04 上使用 Kivy 和 Buildozer 制作 apk【英文标题】:Making apk with Kivy and Buildozer on Ubuntu 12.04 【发布时间】:2014-06-27 16:52:22 【问题描述】:我无法使用 buildozer 为我的简单 kivy 模块制作 APK。
以下是错误转储:
进入ARM环境 编译器位于 /home/roshan/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc /home/roshan/AndroidApp/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/distutils/dist.py:267:用户警告:未知分发选项:'install_requires' 警告。警告(味精) 运行 build_ext 构建“jnius”扩展 arm-linux-androideabi-gcc -DANDROID -mandroid -fomit-frame-pointer --sysroot /home/roshan/.buildozer/android/platform/android-ndk-r9c/platforms/android-14/arch-arm -DNDEBUG - DANDROID -mandroid -fomit-frame-pointer --sysroot /home/roshan/.buildozer/android/platform/android-ndk-r9c/platforms/android-14/arch-arm -fPIC -I/home/roshan/AndroidApp/ .buildozer/android/platform/python-for-android/build/python-install/include/python2.7 -c jnius/jnius.c -o build/temp.linux-i686-2.7/jnius/jnius.o jnius/jnius.c:1:2: error: #error 不要使用这个文件,这是 Cython 编译失败的结果。 #error 不要使用这个文件,它是 Cython 编译失败的结果。 ^ 错误:命令“arm-linux-androideabi-gcc”失败,退出状态为 1 编译/home/roshan/AndroidApp/.buildozer/android/platform/python-for-android/build/pyjnius/pyjnius-master/jnius/jnius.pyx 编译 Cython 文件时出错: -------------------------------------------------- ---------- ... cdef 类字节数组: cdef LocalRef _jobject cdef long _size cdef jbyte *_buf cdef jbyte[:] _arr ^ -------------------------------------------------- ---------- jnius/jnius_nativetypes.pxi:19:15:需要一个标识符或文字 /home/roshan/AndroidApp/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/distutils/dist.py:267:用户警告:未知分发选项:'install_requires' 警告。警告(味精) 运行 build_ext 构建“jnius”扩展 arm-linux-androideabi-gcc -DANDROID -mandroid -fomit-frame-pointer --sysroot /home/roshan/.buildozer/android/platform/android-ndk-r9c/platforms/android-14/arch-arm -DNDEBUG - DANDROID -mandroid -fomit-frame-pointer --sysroot /home/roshan/.buildozer/android/platform/android-ndk-r9c/platforms/android-14/arch-arm -fPIC -I/home/roshan/AndroidApp/ .buildozer/android/platform/python-for-android/build/python-install/include/python2.7 -c jnius/jnius.c -o build/temp.linux-i686-2.7/jnius/jnius.o jnius/jnius.c:1:2: error: #error 不要使用这个文件,这是 Cython 编译失败的结果。 #error 不要使用这个文件,它是 Cython 编译失败的结果。 ^ 错误:命令“arm-linux-androideabi-gcc”失败,退出状态为 1 # 命令失败:./distribute.sh -m "kivy" -d "Playstring"如何解决。我尝试再次安装 cython,但没有帮助。
【问题讨论】:
你是如何安装 cython 的? 第一次来自 Ubuntu 软件中心,下次使用 easy_install。 【参考方案1】:您的 Cython 似乎太旧了。当我在 12.04 开始 Kivy 开发时,我遇到了类似的问题。尝试从 PPA 或使用 PIP 安装更新版本。
来自 PPA:
sudo apt-add-repository ppa:cython-dev/master-ppa
sudo apt-get update
sudo apt-get install cython
使用 PIP:
sudo apt-get install python-pip
sudo pip install --upgrade cython
【讨论】:
以上是关于在 Ubuntu 12.04 上使用 Kivy 和 Buildozer 制作 apk的主要内容,如果未能解决你的问题,请参考以下文章
无法在 ubuntu 12.04 上使用 mkl 构建 scipy