android - INSTALL_PARSE_FAILED_NO_CERTIFICATES:包 /data/app/vmdl2005941423.tmp/0_base-master 在 AndroidManifest.xml 条目中没有证书。
问题描述
环境:Windows 10 64 位,Android Studio 3.2 Canary 15。
我在一个测试项目中添加了免费和付费的口味,然后构建了签名的 APK。
运行发布 APK 时出现以下错误 -
Installation failed with message Failed to finalize session :
INSTALL_PARSE_FAILED_NO_CERTIFICATES: Package
/data/app/vmdl2005941423.tmp/0_base-master has no certificates at entry
AndroidManifest.xml.
It is possible that this issue is resolved by uninstalling an existing
version of the apk if it is present, and then re-installing.
我尝试使用 V1 和 V2 签名版本重新签署我的 APK,但在运行发布版本时仍然出现相同的错误。
在分析了发布的 APK 之后,AndroidManifest.xml 以红色显示了 Manifest 标签的 xmlns:android:
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
当我悬停红色文字时,它显示“URI 未注册...”
我不知道这是什么意思...
这个错误的原因是什么?
解决方案
根据这里,
构建 APK 集时,设置 --ks 和 --ks-key-alias 标志以确保 APK 已签名。只有签名的 APK 可以安装在设备上。Android SDK 应该带有一个调试密钥库。尝试查看 ~/.android/debug.keystore(别名:AndroidDebugKey,密码:android)。
换句话说,只有签名的 apk 可以安装到设备上。这是有道理的,因为 App Bundle 确实用于分发。
推荐阅读
- android - 当数据适合屏幕时如何停止运动布局动画
- vba - 如何在 VBA 中从一张纸读取并打印到另一张纸
- json - 在连接 JSON 文件时排除空输入
- python - 如何计算python中特定JSON值的出现次数?
- javascript - 如何在单个页面上以不同的方向(猫头鹰轮播)运行相同的 Javascript 代码?
- ckeditor - 如何将插件添加到 Ckeditor 工具栏两次或多次?
- python - 使用 Raspberry Pi 3B+ 通过 JDY-18 蓝牙模块从 Arduino Uno 读取传感器数据
- kinect - 房间内的 Kinect 位置跟踪。我在我头上吗?
- grails - 提交响应后,Grails 无法创建会话?
- amazon-web-services - AWS Airflow v2.0.2 不显示 Google Cloud 连接类型