公司前端界面用的是vue,我要嵌入到Android中生成App第一步:安裝nodenode安裝:直接進入官網https://nodejs.org/zh-cn/,下載最新版本安裝。安裝之後在命令行中使用”node -v” 檢查安裝是否成功。npm安裝:由於新版的nodejs已經集成了npm,所以nod ...
公司前端界面用的是vue,我要嵌入到Android中生成App
第一步:安裝node
node安裝:直接進入官網https://nodejs.org/zh-cn/,下載最新版本安裝。安裝之後在命令行中使用”node -v” 檢查安裝是否成功。
npm安裝:由於新版的nodejs已經集成了npm,所以node安裝時npm也一併安裝好了。同樣可以通過輸入 “npm -v” 來測試是否成功安裝。
第二步:安裝cordova
1. 打開cmd 輸入命令:npm install -g cordova .安裝cordova
2. 驗證是否安裝成功,cmd中輸入命令: cordova -v 如下圖為安裝成功
第三步:新建cordova項目:
1.(進入到Android項目的工作空間,輸入命令:cordova create DianChiApp com.dhsr.dianchi Dianchi
),如下圖:
2. 輸入命令:cordova platform add android 生成Android平臺的cordova庫,這時platforms文件夾中會生成一個android文件夾
生成的項目目錄如圖:
第四步:打包APK前測試
1. 先檢查androidsdk是否正確安裝,執行命令:
cordova requirements 成功情況如下圖:
第五步:正式打包APK
輸入命令:cordova build android
這步錯誤率很高 我的報錯:
Error occurred during initialization of VM Could not reserve enough space for 2097152KB object heap
Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Failed to install 'cordova-plugin-whitelist':Error: cmd: Command failed with exit code 1 at ChildProcess.whenDone (D:\CordovaSpace\helloWorld\platforms\android\cordova\node_modules\cordova-common\src\superspawn.js:169:23) at emitTwo (events.js:106:13) at ChildProcess.emit (events.js:191:7) at maybeClose (internalild_process.js:850:16) at Process.ChildProcess._handle.onexit (internalild_process.js:215:5) Error: cmd: Command failed with exit code 1
在百度找了很多解決辦法 改變AS的記憶體等都沒有解決
最終解決辦法是: 在環境變數中添加一個系統變數,變數名:_JAVA_OPTIONS
,變數值:-Xmx512M(這個絕對有效,沒用的話重啟電腦重試)
命令運行成功後打包完成,在真機中運行即可
附加:打包簽名版apk
1. cmd中進入項目目錄 輸入命令:cordova build --release android,如下圖:(成功後項目文件下會多出一個name.keystore文件,項目的app\build\outputs\apk\release下麵會多處一個未簽名的apk)
2. 上步執行完成後輸入命令:keytool -genkeypair -alias name.keystore -keyalg RSA -validity 4000 -keystore name.keystore 如下圖:(填寫簽名需要的信息)
3. 上步運行成功功後,將name.keystore文件和app\build\outputs\apk\release下麵會多處一個未簽名的apk放到同一個文件夾下邊,並將apk重命名為:name_unsigned.apk ,如圖:
進入到兩個文件所在的文件夾下,我的是:D:\setup\androidCompanyProjectWorkSpace\DianChiApp\platforms\android\app\build\outputs\apk\release
cmd中執行命令:jarsigner -verbose -keystore name.keystore -signedjar name.apk name_unsigned.apk name.keystore 如下圖:
運行成功後多處一個name.apk的簽名文件 如下圖:(成功)
備忘,希望能幫助到大家