[英]How to debug a Kivy/Kivymd app for android?
所以我花了一些時間開發了一個食譜應用程序: 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
但是輸出似乎沒有幫助,或者我不知道我在尋找什么。
我真的可以使用一些關於如何調試這樣的應用程序的指導。
使用 adb logcat 是要走的路。 在(許多)其他事情中,這包括您的應用程序的所有正常日志輸出,就像您在桌面上看到的一樣。 您還可以進行更高級的調試,但這通常足以調試基本問題(就像在桌面上一樣,查看回溯是您經常需要的大部分信息)。
輸出中與 python 相關的行都帶有標簽“python”。 有一個 adb 語法只顯示與特定標簽匹配的輸出,但我永遠記不住它,只使用 grep - adb logcat | grep python
adb logcat | grep python
很好。
如果這沒有返回任何運行時 python 輸出,則意味着應用程序在到達該點之前崩潰了,您必須更仔細地檢查 logcat。 如果是這種情況,請在此處發布 logcat。
您需要 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.