Android App登录Cordova

时间:2017-06-24 05:23:52

标签: android cordova

我正在尝试从我的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。

1 个答案:

答案 0 :(得分:2)

您只获得未签名的APK,因为gradle无法找到用于签署您的应用的密钥库。

要解决此问题,您需要执行以下操作(这与您在Windows中执行的操作在Mac上应该相同):

  1. 使用keytool -genkey -v -keystore C:\mykeystore\CordovaRelease.keystore -alias CordovaRelease -keyalg RSA -keysize 2048 -validity 10000等内容通过控制台创建密钥库请确保已安装JRE。
  2. 系统会要求您输入CN,OU,...和密码,然后选择一个。
  3. 如果要为调试/发布使用不同的密钥库,可以创建另一个密钥库
  4. 在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项目文件夹到密钥库文件夹。

  5. cordova build android --release等控制台运行Cordova构建,gradle现在将获取build.json文件并找到您的密钥库。
  6. 希望这有帮助。