因此,我花了一些时间来开发食谱应用程序:Github我可以与我的Raspberry Pi一起使用,它运行良好,并且我不介意使用启动器来编写原始代码。但是我希望能够使用buildozer方法将Kivy应用程序打包为apk:
buildozer android debug deploy run
可以成功编译并且apk安装正常,但是应用程序在一秒钟后崩溃,之后我尝试使用Kivy Launcher(似乎无法识别我的程序),因此我着手尝试通过Pydroid 3运行原始代码,过去在Kivy和KivyMD上都可以使用,但是尝试导入该导入时会崩溃,这不是我的代码的一部分:
from android.config import JAVA_NAMESPACE, JNI_NAMESPACE
我的buildozer.spec文件是:
https://github.com/treencd/RecipeBook/blob/master/buildozer.spec
我最终尝试使用:
adb logcat
但是输出似乎没有帮助,或者我不知道我在寻找什么。
我真的可以对如何调试这样的应用程序使用一些指导。
答案 0 :(得分:1)
使用adb logcat是解决方法。除其他事项外,这包括应用程序的所有常规日志记录输出,就像在桌面上看到的一样。您还可以进行更高级的调试,但这通常足以调试基本问题(就像在桌面上一样,看到回溯是您经常需要的大多数信息)。
输出中与python相关的行均带有标记“ python”。有一种adb语法,只显示与特定标签匹配的输出,但我永远不会记住它,只能使用grep-adb logcat | grep python
很好。
如果这不返回任何运行时python输出,则意味着应用程序在达到该点之前崩溃了,您必须更加仔细地检查logcat。如果是这种情况,请在此处发布日志。
答案 1 :(得分:0)
您需要3个步骤(省略了在手机上启用调试模式的步骤)。 您可以将每个步骤另存为bash文件,然后轻松运行脚本。 假设下面的文件夹结构
project/
1.bash
2.bash
3.bash
bin/
random_name.apk
main.py
main.kv
1)构建apk(1.bash)
#!/bin/sh
buildozer -v android debug
2)从终端(2.bash)安装在手机上
#!/bin/sh
adb install -r bin/*.apk
3)运行apk,看看发生了什么(3.bash)
#!/bin/sh
echo 'Please connect on transfer files mode the cellphone'
adb logcat -s "python"
然后,当一切正常时,只需创建一个新文件(0.bash)
#!/bin/sh
bash 1.bash
bash 2.bash
bash 3.bash