1. 程式人生 > >cordova--安卓打包

cordova--安卓打包

打包App

  • 建立一個資料夾 CD進入
  • cordova create esps com.mosesceo.ESPSApp ESPSApp -d

ESPSApp是專案的名字,com.mosesceo.ESPSApp是APP的包名,可以隨意取,最好按照“com.” 開頭

  • cd esps

  • cordova platform add android

    cordova platform remove android

  • cordova platform add ios
  • cordova build

    打包如果想要加金鑰簽名看下面

說說目錄中檔案的用處 
+ hooks:裡面就一個readme.md檔案,沒什麼卵用 
+ platfroms:通過cordova platforms add android 新增的安卓相關檔案就放在裡面,這個資料夾比較重要,打包生成的apk也在這個資料夾下 
+ plugins:cordova安裝的外掛在此資料夾下 
+ res:存放資原始檔,我沒有用到過 
+ www:這個檔案下寫我們的專案,如html,js,css等程式碼 
+ .npmignore:忽略檔案,沒什麼用處 
+ config.xml:打包專案的配置檔案,可以修改APP的包名,應用名稱等

金鑰簽名寫法

  • 根目錄cordova build --release android
  • 生成:android-release-unsigned.apk 複製出來
  • keytool -genkeypair -alias 金鑰名字.keystore -keyalg RSA -validity 4000 -keystore 金鑰名字.keystore

    會出現在根目錄一個金鑰複製一下 > 裡面一路回車+ 最後y

  • 根目錄建立一個資料夾將 2、3兩個檔案複製進入,cd進入該資料夾輸入
  • jarsigner -verbose -keystore 金鑰名字.keystore -signedjar 打包後名字.apk 2打包出來的原始檔名字.apk 金鑰名字.keystore


1. keytool -genkeypair -alias A.keystore -keyalg RSA -validity 4000 -keystore A.keystore(A是你的將要打包的A的原apk的簽名名稱)
keytool -genkeypair -alias name.keystore -keyalg RSA -validity 4000 -keystore name.keystore 

2. jarsigner -verbose -keystore A.keystore -signedjar C.apk B.apk A.keystore(B是你apk的名稱,C是你想要得到的重新打包的apk檔案)
jarsigner -verbose -keystore name.keystore -signedjar name.apk name_unsigned.apk name.keystore

如果打不開核實名字
https://blog.csdn.net/u013396632/article/details/70306379

如果設定一臺裝置兩個端問題

刪除掉重新安裝檔案將包名給換掉

  • cordova create esps com.mosesceos.ESPSApp ESPSApp -d

cordova專案生成的android平臺和ios平臺



android packageName和ios bundle id會預設使用根目錄下config.xml裡widget元素裡id的屬性值



最近因為總總原因,android packageName和ios bundle id需要不同



其實官方文件有說明可以配置,連結:http://cordova.apache.org/docs/en/latest/config_ref/index.html



<widget id="com.xxx.xxx" android-packageName="com.android.xxx" ios-CFBundleIdentifier="com.ios.xxx"

修改圖片部分

在platforms\android\res
搜尋所有的icon.png檔案
覆蓋成自己的

修改名字部分

config.xml檔案

<?xml version='1.0' encoding='utf-8'?>
<!-- 在這裡修改 -->
<widget id="com.mosesceos.app" android-packageName="com.android.mosesceos" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>工程師服務平臺</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="[email protected]" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <plugin name="cordova-plugin-whitelist" spec="1" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <platform name="android">
        <allow-intent href="market:*" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
    </platform>
    <engine name="android" spec="^7.0.0" />
</widget>

https://blog.csdn.net/wz172637815/article/details/50601897