cordova--安卓打包
阿新 • • 發佈:2019-01-10
打包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