You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Colab中配置logcat调试buildozer打包的Kivy MD APK

一、先修复代码已知错误

你提供的Python代码存在低级错误,这大概率是崩溃的首要原因:

# 原错误代码:你给OutScreen的位置添加的还是CamScreen实例
sm.add_widget(CamScreen(name= "OutScreen"))
# 修正为
sm.add_widget(OutScreen(name= "OutScreen"))

另外权限申请不要放在全局位置,Android高版本要求运行时动态申请,要把权限申请移到App的on_start方法里:

class HumanDetector(MDApp):
    def on_start(self):
        from android.permissions import request_permissions, Permission
        request_permissions([Permission.CAMERA])

修改完重新打包后再做调试。

二、Colab配置logcat调试步骤

因为Colab是云主机环境,无法直接USB连接你的安卓手机,需要用ADB无线调试的方式连接,操作如下:

1. 准备安卓手机端

  • 打开手机「开发者选项」,开启「USB调试」和「无线调试」(安卓11及以上支持,低版本需要先USB连接电脑开启adb tcpip模式)
  • 确保手机和Colab云主机可以网络互通,推荐手机连接公网IP,或者用内网穿透工具做端口映射。

2. Colab端安装ADB工具

执行以下命令安装安卓平台工具:

!sudo apt-get update
!sudo apt-get install -y android-tools-adb

3. 无线连接手机

将手机的公网IP和无线调试端口替换到下方命令:

!adb connect 你的手机IP:端口
# 连接成功后执行以下命令确认设备已识别
!adb devices

4. 捕获崩溃日志

首先安装你打包好的APK到手机:

!adb install ./bin/你的APK文件名.apk

然后开启logcat过滤,只显示Python相关的崩溃日志:

!adb logcat -c # 清空旧日志
!adb logcat *:S python:D # 只输出Python层的调试日志,也可以用*:E只看错误日志

现在在手机上打开崩溃的APP,Colab控制台就会输出对应的崩溃堆栈,你可以根据报错定位具体问题。

三、额外配置优化(避免打包问题)

你的spec文件可以做以下修改减少崩溃概率:

  • 取消android.logcat_filters = *:S python:D的注释,打包时就内置日志过滤规则
  • requirements里指定kivymd的版本,避免版本兼容问题:requirements = python3,kivy==2.1.0,kivymd==1.1.1,pillow,android
  • 安卓arch根据你手机架构选择,arm64手机选android.arch = arm64-v8a

内容的提问来源于stack exchange,提问作者Aadhi Arun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 04:45:10