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

无需上传密钥:ADB本地USB调试Kivy应用步骤及安装报错解决

Kivy应用本地ADB调试无上传密钥解决方案

问题翻译与说明

用户执行ADB安装命令时出现如下错误:

执行命令:
adb install -r bin/apk/splits/base-armeabi_v7a.apk
输出:
Performing Streamed Install
adb: failed to install bin/apk/splits/base-armeabi_v7a.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: 无法收集/data/app/vmdl327565702.tmp/base.apk的证书:无法从/data/app/vmdl327565702.tmp/base.apk收集证书:尝试获取空数组的长度]

这个错误是因为Android要求所有APK必须签名,本地调试只需用调试密钥签名,无需上传Play Store的上传密钥。以下是本地调试的分步操作:

本地调试分步操作指南

1. 生成调试签名密钥

使用JDK自带的keytool生成调试密钥(确保JDK已配置环境变量):

keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000

执行后按提示填写信息(可直接回车使用默认值),当前目录会生成debug.keystore文件。

2. 配置Kivy项目的签名参数

修改项目根目录的build.spec文件,添加调试签名配置:

[app]
# 保留原有配置,新增以下内容
android.signing.debug_store = /你的路径/debug.keystore
android.signing.debug_store_pass = android
android.signing.debug_key_alias = androiddebugkey
android.signing.debug_key_pass = android

将/你的路径/debug.keystore替换为实际的密钥文件路径。

3. 重新编译并部署调试APK

用buildozer一键完成编译、签名、部署:

buildozer android debug deploy run

该命令会自动用调试密钥签名APK,直接安装到连接的USB设备并运行。

4. 手动签名已编译的APK(可选)

如果已有未签名的APK,用Android SDK的apksigner手动签名:

apksigner sign --ks debug.keystore --ks-pass pass:android --key-pass pass:android /你的APK路径/base-armeabi_v7a.apk

签名完成后再执行安装:

adb install -r /签名后的APK路径/base-armeabi_v7a.apk

关键提示

  • 调试密钥是Android官方默认的本地调试专用密钥,密码均为android,无需复杂配置。
  • 不要混淆调试密钥和Play Store上传密钥,二者用途完全不同。
  • 本次报错核心是APK未签名或签名无效,用调试密钥签名即可解决。

内容的提问来源于stack exchange,提问作者Alexey Orlov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:25:19