Cordova签名android应用程序:不使用build.json
我在cordova 5.x上工作,我会生成一个签名apk 我开始在cordova项目的根目录下使用build.json和Certificate凭据:Cordova签名android应用程序:不使用build.json,android,cordova,gradle,cordova-5.0.0,Android,Cordova,Gradle,Cordova 5.0.0,我在cordova 5.x上工作,我会生成一个签名apk 我开始在cordova项目的根目录下使用build.json和Certificate凭据: { "android": { "debug": { "keystore": "cert.keystore", "storePassword": "*****", "alias": "1", "password" : "*****", "keystoreType": "PKCS12
{
"android": {
"debug": {
"keystore": "cert.keystore",
"storePassword": "*****",
"alias": "1",
"password" : "*****",
"keystoreType": "PKCS12"
},
它在platforms/android中创建一个release-signing.properties,如下所示:
key.store=..\\..\\cert.keystore
key.alias=1
key.store.password=*****
key.alias.password=*****
key.store.type=PKCS12
storeFile=..\\..\\cert.keystore
storePassword=*****
keystoreType=PKCS12
keyAlias=1
keyPassword=*****
但是我有一个错误:cert.keystore“:DerInputStream.getLength():lengthTag=109,太大(因为它不理解密钥是PKCS12类型)
在我编写自己的release-signing.properties之后:
key.store=..\\..\\cert.keystore
key.alias=1
key.store.password=*****
key.alias.password=*****
key.store.type=PKCS12
storeFile=..\\..\\cert.keystore
storePassword=*****
keystoreType=PKCS12
keyAlias=1
keyPassword=*****
而且它是有效的…所以我不明白为什么第一个解决方案不起作用。在Cordova 5上,不需要手动编辑此“release signing.properties”文件 您只需将“build.json”和“cert.keystore”文件保存在项目的根目录下(与您已经做的完全相同)。然后,在cordova CLI上运行以下命令:
cordova构建android——发布
此外,您不应触摸平台文件夹中的任何文件。在我的情况下,我甚至不在git repo上跟踪它们。可能是名称:keystoreType=keystore.typeYou尝试生成发布版本吗?看起来build.json只指定调试版本的配置。我的build.json文件中只有一个发布配置。当我运行cordova build android--release时,它会在适当的目录中生成android-release.apk文件。问题是配置文件,android compile不理解证书密钥格式。因此,我使用另一个带有“jarsigner”和zipalign的解决方案,这是可行的