我正在尝试构建签名的apk文件。我不知道为什么它没有产生。我过去在Stack Overflow的帮助下生成了已签名的apk。
这次我正在做同样的事情,但不确定为什么它不产生。
我已经创建了 ant.properties 和 build.json 。我还创建了 properties 文件,并且正在使用cordova build android --release
。所有这些文件都在Android目录中。
ant.properties
key.store=/Applications/mampstack-5.6.30-1/apache2/htdocs/testapp/Android/TestAppRelease.keystore
key.alias=TestApp
key.store.password=12345678
key.alias.password=12345678
Build.Json
{
"android":{
"release": {
"keystore": "/Applications/mampstack-5.6.30-1/apache2/htdocs/testapp/Android/TestAppRelease.keystore",
"storePassword": "12345678",
"alias": "TestApp",
"password" : "12345678",
"keystoreType": ""
}
}
}
我使用的密钥库命令如下:
keytool -genkey -v -keystore TestAppRelease.keystore -alias TestApp -keyalg RSA -keysize 2048 -validity 10000
Cordova build android --release
生成未签名的apk文件。
我还想念什么?
Cordova版本为8,而android minSdkVersion为25。我检查了多个问题并按照说明进行操作,但是问题仍然存在。
答案 0 :(得分:0)
现在,您可以获取未签名的APK,并发出这两个命令来对APK进行签名。
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore {name}.keystore {apk_name_unsigned}.apk {apk_alias}
$ zipalign -v 4 {apk_name_unsigned}.apk {apk_name_signed}.apk
答案 1 :(得分:0)
使用BouncyCastle密钥库提供程序...
"keystoreType": "BKS"
未设置"keystoreType": ""
时,应使用默认的密钥库提供程序。