【筆記】Cordova平臺創(chuàng)建項目以及進行apk簽名的詳細步驟(含keystore生成)

第一步 安裝JDK

安裝jdk,這個只需要在oracle官網(wǎng)下載即可,需要使用1.8以上的版本。

第二步 JDK環(huán)境變量

配置jdk的環(huán)境變量,這一步網(wǎng)絡(luò)上有非常多的教程,不再贅述。

第三步 生成簽名包

  1. windows徽標鍵+R 打開運行窗口,輸入cmd 打開命令行工具。
  2. 輸入 keytool -genkeypair -alias @alias -keyalg RSA -validity @expiredate -keystore @keystoreRepositoryName -storepass @password 命令

參數(shù)說明:

參數(shù) 說明 示例
@alias 別名 taylor
@expiredate 過期天數(shù)(有效期) 4000
@keystoreRepositoryName 倉庫名稱 taylor.keystore
@password 密碼 123456
  1. 依照提示填寫相關(guān)內(nèi)容,牢記設(shè)置的密碼。

第四步 安裝Cordova

npm install -g cordova 

-g 標志是告訴 npm 我們?nèi)职惭b cordova。否則我們將會安裝在當(dāng)前工作目錄的 node_modules子目錄。

第五步 創(chuàng)建APP


$ cordova create hello com.example.hello HelloWorld

然后修改config.xml,設(shè)置Android的包名(ios的BundleId如果有需要也在此設(shè)置),具體方式如下:

  1. 打開文件找到 widget 元素。
  2. 新增 android-packageName 屬性,其值即為android的包名。ios-CFBundleIdentifier屬性 用于設(shè)置BundelId。

<widget id="com.xxx.xxx" android-packageName="com.xxx.www" ios-CFBundleIdentifier="com.xxx.www" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
...
</widget>

如果你沒有設(shè)置 android-packageName 那么在打包的時候,會默認以 id屬性作為包名。

第六步 添加平臺

$ cordova platform add @platformname --save

@platformname的可選值:

參數(shù) 說明
android 安卓平臺
ios 蘋果IOS平臺
browser 瀏覽器平臺
wp8 windowsPhone 8
blackberry10 黑莓 10
windows Windows
  • 添加的平臺類型決定在打包之后的應(yīng)用程序可以安裝在何種平臺上,常用的添加android和browser即可。構(gòu)建android平臺需要安裝androidsdk,構(gòu)建ios平臺同樣需要相關(guān)的軟件支持,因此在windows上幾乎不能開發(fā)ios平臺的app了。

第七步 檢查前置條件(環(huán)境支持)

$ cordova requirements

執(zhí)行上述命令可以檢查目前的開發(fā)環(huán)境所缺少的配置項,如果完全滿足條件,則會顯示類似如下的內(nèi)容:

$ cordova requirements
Requirements check results for android:
Java JDK: installed .
Android SDK: installed
Android target: installed android-19,android-21,android-22,android-23,Google Inc.:Google APIs:19,Google Inc.:Google APIs (x86 System Image):19,Google Inc.:Google APIs:23
Gradle: installed

Requirements check results for ios:
Apple OS X: not installed
Cordova tooling for iOS requires Apple OS X
Error: Some of requirements check failed

第八步 構(gòu)建APP

運行下面命令為 所有添加的平臺 構(gòu)建:

$ cordova build

也可以指定平臺進行構(gòu)建:

$ cordova build android

構(gòu)建(build)好的apk文件一般會在 \platforms\android\app\build\outputs\apk\debug\目錄,或許您已經(jīng)注意到了其中的debug,沒錯上述命令生成的實際上是調(diào)試版本的應(yīng)用程序,此處應(yīng)該使用$ cordova build -realeas android生成正式版的apk文件,生成后的文件一般會在 \platforms\android\app\build\outputs\apk\release\ 目錄內(nèi),文件名稱為app-release-unsigned.apk。

第九步 簽名APK

在上一個步驟中,已經(jīng)生成了正式版本的apk文件了,接下來需要對apk進行簽名。

  1. 首先我們復(fù)制前面生成的keystore文件到 apk所在的目錄。
  2. 然后在目錄的空白位置按住shift+鼠標右鍵,再彈出的菜單中選擇 在此處打開powershell窗口
  3. 執(zhí)行如下命令進行簽名:

jarsigner -verbose -keystore @keystoreRepositoryName -signedjar @apkfilename @unreleasessignedapkname @alias 

參數(shù) 說明 示例
@keystoreRepositoryName keystore文件名 taylor.keystore
@apkfilename 簽名后的apk文件名稱 taylor.apk
@unreleasessignedapkname 當(dāng)前文件中未簽名的apk文件名稱 app-release-unsigned.apk
@alias 別名 taylor

執(zhí)行完上述命令之后,就會在當(dāng)前目錄生成已簽名的apk文件。

  • 注意:通常在網(wǎng)上搜索的資料,會將@alias參數(shù)寫成 xxx.keystore格式,對讀者產(chǎn)生誤導(dǎo),實際上此處應(yīng)該填寫的是你在創(chuàng)建keystore時候所填寫的keystore別名,否則你會產(chǎn)生jarsigner: 找不到xxxAPKKey.jks的證書鏈。xxxxAPKKey.jks必須引用包含私有密鑰和相應(yīng)的公共密鑰證書鏈的有效密鑰庫 密鑰條目這樣的錯誤。

第十步 用簽名工具獲取應(yīng)用簽名

  1. 下載簽名工具([點此下載(https://res.wx.qq.com/open/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android2.apk "微信簽名工具")])
  2. 在模擬器中安裝你的已簽名APK項目。
  3. 在模擬器中安裝下載好的簽名工具。
  4. 在簽名工具中輸入上面設(shè)置的包名。
  5. 點擊確定后就會在輸入框下方顯示 生成成功的應(yīng)用簽名。倘若包名填寫錯誤,是無法生成應(yīng)用簽名的。

轉(zhuǎn)載請注明出處,Cordova常見問題可以參考我的其他博客文章。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容