我有一个Kivy应用程序,我正试图使用Buildozer将其打包到android应用程序中。我已经安装了Pyjnius和Cython,但当它在buildozer -v android debug
命令中打开Cython时,我仍然会收到一个JNIUS_PYTHON3未定义的错误。有人知道我该怎么解决吗?谢谢
我看到了同样的错误。在文件夹中.buildozer/android/platform/build-armeabi-v7a/build/other_builds/pyjnius-sdl2/armeabi-v7a__ndk_target_21/pyjnius/jnius
我创建了一个config.pxi文件,其中包含以下行
DEF JNIUS_PLATFORM = 'android'
DEF JNIUS_PYTHON3 = 'true'
这让我克服了你提到的错误信息,尽管我仍然会遇到更多的错误。
现在让我的应用程序使用Buildozer编译成APK文件后,我觉得我之前的回答只是掩盖了一些依赖项没有正确安装的潜在问题。回顾我的BASH历史,我遵循的步骤可以总结为…
初始设置
git clone https://github.com/kivy/buildozer.git
cd buildozer
sudo python setup.py install
然后在buildozer主文件夹中创建一个文件夹,以保存与我的应用相关的python和kivy文件
mkdir MyAndroidApp
cd MyAndroidApp/
cp __My_Source_Files__ ./
buildozer init
nano buildozer.spec # Edit some basic settings here
buildozer android debug deploy
当构建过程失败时,我执行了一系列步骤来检查各种依赖关系。在我看来,以下一些步骤基本上是为了做同样的事情,所以它们可能不是全部必需的,但这是我在最终成功的道路上尝试的各种事情的完整列表。
sudo apt install libffi-dev
sudo apt install python3-setuptools
sudo apt install libssl-dev
sudo apt install python3-pip
sudo apt install python-pip
pip3 install --user --upgrade Cython==0.29.19 virtualenv
pip3 install --user --upgrade pyjnius
pip3 install --user --upgrade setuptools
pip install Cython
pip3 install setuptools
然后我能够使用以下命令来成功构建
buildozer android clean
buildozer android debug deploy
如果你看到了这个错误,那么我认为正确的起点是查看各种错误消息中抱怨的依赖关系,并仔细检查是否所有东西都安装正确。
最后,它对我起到了作用,我希望这些笔记对你整理问题也有帮助。祝你好运