鍍金池/ 教程/ 嵌入式/ 為 Android APK 簽名
云端 Cordova
UI 框架 jQuery Mobile
配置文件 config.xml
UI 框架 Ionic Framework
Plugin 開發(fā)
slides & books
應用圖標 icon 和啟動頁面 SplashScreen
Sample 工程解析
使用 Hooks 自定義 build 過程
JS 是如何調(diào)用本地 API 的?
deviceready 事件
為 Android APK 簽名
調(diào)試工具 Debug
幾個不可或缺的 lib
環(huán)境搭建(Windows / Android)
Native API 的使用

為 Android APK 簽名

Cordova 編譯 Android工程的時候,調(diào)用的Android SDK的默認build過程,所以是基于Ant的。

(1)調(diào)試用 APK

引用

cordova build android

默認是 debug 模式,使用 debug.keystore 來生成以下兩個文件:

  • XXXX-debug.apk(signed, unaligned)
  • XXXX-debug-unaligned.apk(signed, aligned)

debug.keystore 的位置:
C:\Documents and Settings\RenSanNing.android\debug.keystore

(2)發(fā)布用 APK

引用

cordova build android --release

生成以下三個文件:

  • XXXX-release.apk (signed, aligned)
  • XXXX-release-unaligned.apk (signed, unaligned)
  • XXXX-release-unsigned.apk (unsigned, unaligned)

如果只生成了 XXXX-release-unsigned.apk,會提示以下錯誤:

引用

[echo] No key.store and key.alias properties found in build.properties. 
[echo] Please sign E:\projects\simpleApp\platforms\android\ant-build\SimplApp-release-unsigned.apk manually

使用 JDK 的 keytool 工具生成 keystore 文件:

引用

keytool -genkey -v -keystore c:/key/my-release-key.keystore -alias release_alias -keyalg RSA -validity 365

參考:http://rensanning.iteye.com/blog/1462433

查看 platforms\android\build.xml 文件可知,Cordova 為 build 過程提供了 ant.properties 的接口來變更設置,所以新建 platforms\android\ant.properties 文件后重新 build 即可。

引用

key.store=c:/key/my-release-key.keystore 
key.alias=release_alias 
key.store.password=123456 
key.alias.password=123456

platforms 下的代碼會被生成工程的時候全部刪掉,所以要注意保存 ant.properties 文件!