[英]Android gradle build release not finding alias in keystore
我正在嘗試使用Cordova構建發行版。 我在platform / android中聲明了release-signing.properties,內容如下:
storeFile=../../release-key.jks
storePassword=<password>
storeType=pkcs12
keyAlias=<alias>
keyPassword=<password>
使用以下任一方法:
cordova build android --release
或僅使用gradle:
./gradlew.bat signingReport
兩者都報告有待發布的問題:
Failed to read key mmrevision from store "<full_path>\platforms\android\..\..\release-key.keystore": DerInputStream.getLength(): lengthTag=109, too big.
我生成了密鑰:
/C/Program\ Files\ \(x86\)/Java/jre1.8.0_65/bin/keytool.exe -genkey -v -keystore release-key.jks -alias mmrevision -keyalg RSA -keysize 2048 -validity 36500
我的問題是,我按照androids文檔的建議生成了密鑰,但我從cordova的文檔中復制了用於發布簽名的配置。
這樣做的缺陷是cordova將storeType列為“ pkcs12”,而我使用的keytool命令生成了jks密鑰庫!
更改:
storeType=pkcs12
至:
storeType=jks
另請注意:
在cordova中,現在最好使用build.json。 在您的cordova項目的根目錄中,添加一個名為“ build.json”的文件,其內容如下:
{
"android": {
"debug": {
... (if not specified, the apk cannot be signed in debug, but cordova run android should still work)
},
"release": {
"keystore": "release-key.jks",
"storePassword": "<password>",
"alias": "<alias>",
"password" : "<password>",
"keystoreType": "jks"
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.