使用Apache Cordova为Android应用签名失败是什么原因?
问题原因及解决方法
核心问题1:APK未签名、安装失败
你当前使用的命令参数配置方式错误,cordova run android命令不支持直接在CLI参数中传递keystore签名信息,这部分参数不会被Cordova识别,因此只会生成未签名的release包,安装时就会触发INSTALL_PARSE_FAILED_NO_CERTIFICATES报错。
修复步骤:
- 在Cordova项目根目录新建
build.json文件,写入以下配置:
{ "android": { "release": { "keystore": "../keystores-android/fd1.jks", "storePassword": "pass", "alias": "fd1", "password": "pass" } } }
- 执行命令
cordova build android --release,即可自动生成签名完成的APK文件,生成路径和原未签名包路径一致,文件名为app-release.apk。
核心问题2:MissingDefaultResource 报错
你的screen.png资源仅放在了带横竖屏、分辨率限定符的drawable文件夹下(比如drawable-land-hdpi、drawable-port-mdpi),没有在默认无后缀的drawable文件夹下放置通用的默认资源,Android release构建的lint检查规则判定该问题有导致应用崩溃的风险,因此抛出错误。
修复方案二选一:
- 在
platforms/android/app/src/main/res/路径下新建drawable文件夹,放入任意一张通用screen.png作为默认兜底资源 - 确认无业务风险的前提下,添加lint规则忽略该报错:在资源声明节点添加
tools:ignore="MissingDefaultResource"属性即可。
内容的提问来源于stack exchange,提问作者sp2012
相关产品推荐
相关产品推荐

