04、cordova-安卓版本签名

参考:http://stackoverflow.com/questions/26449512/how-to-create-a-signed-apk-file-using-cordova-command-line-interface

一、删除console插件:

cordova plugin rm cordova-plugin-console --save

二、修改 platforms/android/AndroidManifest.xml

android:debuggable 属性改成 false
或 直接删除 debuggable 属性

<application android:debuggable="false" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">...</application>
<application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">...</application>

三:获取未签名的apk:

android-release-unsigned.apk

cordova build --release android

四、利用keytool工具生成密钥:

keytool -genkey -v -keystore <keystoreName>.keystore -alias <Keystore AliasName> -keyalg <Key algorithm> -keysize <Key size> -validity <Key Validity in Days>

keytool -genkey -v -keystore test.keystore -alias alias_test -keyalg RSA -keysize 2048 -validity 10000
密钥库口令 123456
您的名字与姓氏是什么?
  [Unknown]:  a
您的组织单位名称是什么?
  [Unknown]:  b
您的组织名称是什么?
  [Unknown]:  c
您所在的城市或区域名称是什么?
  [Unknown]:  shanghai
您所在的省/市/自治区名称是什么?
  [Unknown]:  shanghai
该单位的双字母国家/地区代码是什么?
  [Unknown]:  cn
CN=gu, OU=30wish, O=30wish, L=shanghai, ST=shanghai, C=cn是否正确?
  [否]:  Y

正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 10,000 天):
         CN=a, OU=b, O=c, L=shanghai, ST=shanghai, C=cn
输入 <alias_test> 的密钥口令
        (如果和密钥库口令相同, 按回车):654321
再次输入新口令:654321
[正在存储test.keystore]

五、移动 test.keystore

test.keystore(生成目录 即 执行cmd命令时的目录)
移动到 platforms\android\build\outputs\apk

六、签名:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore <keystorename <Unsigned APK file> <Keystore Alias name>

D:\projects\Phonegap\Example\platforms\android\build\outputs\apk> 
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore test.keystore android-release-unsigned.apk alias_test

此时android-release-unsigned.apk已经是签名后的了,重命名即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容