我正在尝试从我的mac中的cordova构建签名的应用程序。每当我运行cordova build android --release
时,它都会释放未签名的apk。
我在Play商店创建了帐户。我还检查了多个链接以使其正常工作。
How to create a signed APK file using Cordova command line interface?
http://cordova.apache.org/docs/en/6.x/guide/platforms/android/index.html#signing-an-app
我对密钥文件几乎没有关注。
根据Cordova文档,我们可以使用build.json
或Gradle来构建签名的apk。
{
"android": {
"debug": {
"keystore": "../android.keystore",
"storePassword": "android",
"alias": "mykey1",
"password" : "password",
"keystoreType": ""
},
"release": {
"keystore": "../android.keystore",
"storePassword": "",
"alias": "mykey2",
"password" : "password",
"keystoreType": ""
}
}
}
以上来自Cordova网站的代码,但我找不到build.json文件。
以下是gradle的代码。
You can also specify signing properties by including a .properties file and pointing to it with the cdvReleaseSigningPropertiesFile and cdvDebugSigningPropertiesFile Gradle properties (see Setting Gradle Properties). The file should look like this:
storeFile=relative/path/to/keystore.p12
storePassword=SECRET1
storeType=pkcs12
keyAlias=DebugSigningKey
keyPassword=SECRET2
storePassword and keyPassword are optional, and will be prompted for if omitted.
但我不确定从哪里获取storePassword KeyPassword DebugSigningKey等详细信息。
我使用的是最新版本的Cordova,7.0.1。
答案 0 :(得分:2)
您只获得未签名的APK,因为gradle无法找到用于签署您的应用的密钥库。
要解决此问题,您需要执行以下操作(这与您在Windows中执行的操作在Mac上应该相同):
keytool -genkey -v -keystore C:\mykeystore\CordovaRelease.keystore -alias CordovaRelease -keyalg RSA -keysize 2048 -validity 10000
等内容通过控制台创建密钥库请确保已安装JRE。在Cordova项目文件夹中创建build.json文件,并引用密钥库,如
"android": {
"debug": {
"keystore": "..\mykeystore\CordovaDebug.keystore",
"storePassword": "secretpassword",
"alias": "CordovaDebug",
"password" : "secretpassword",
"keystoreType": ""
},
"release": {
"keystore": "..\mykeystore\CordovaRelease.keystore",
"storePassword": "",
"alias": "CordovaRelease",
"password" : "secretpassword",
"keystoreType": ""
}
}
相对路径从Cordova项目文件夹到密钥库文件夹。
cordova build android --release
等控制台运行Cordova构建,gradle现在将获取build.json文件并找到您的密钥库。希望这有帮助。