2017-06-24 67 views
0

我正尝试从我的Mac中的cordova构建已签名的应用程序。每当我运行cordova build android --release它释放未签名的apk。Android应用程序登录Cordova

我已在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

我有一个关于密钥文件很少关注。

根据科尔多瓦文档,我们可以使用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": "" 
     } 
    } 
} 

以上代码来自科尔多瓦网站,但我无法找到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

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

为了解决这个问题,你需要做以下(这就像你在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. 在科尔多瓦的项目文件夹中创建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": "" } }的相对路径从科尔多瓦项目文件夹转到密钥库密钥库夹。
  5. 从控制台运行Cordova构建,如cordova build android --release,gradle现在将采用build.json文件并找到您的密钥库。

希望这会有所帮助。

+0

感谢您的回答。 – Ironic

+0

我是否需要在json文件中提供secretpassword和其他详细信息,或者我需要使用上面的代码而不更改它。 – Ironic

+0

你也可以使用jar签名器,然后将zip对齐。使用jar签名器时,它会提示你输入你的keyphrase。之后,你将不得不调整它 –