windows下 ionic 打包app --以安卓版本為例


環境安裝

1.nodejs

安裝版本5.7,盡量不要安裝太新的版本,因為可能會出現兼容性問題,一開始本人安裝的是6.+的版本,后來出現問題的,馬上換回5.7的,問題就不會出現了。

安裝教程網上教程很多。

 

2.JDK 

下載安裝jdk,我這里裝的版本是1.8,(切記要和自己電腦的位數要一致 32/64,不然打包過程可能會出問題)

配置環境變量:

新建系統環境變量 JAVA_HOME,路徑指向jdk的安裝目錄,如:E:\Program Files\Java\jdk;

新建系統環境變量CLASS_path,路徑:  .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

在系統變量path里面添加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

嘗試向命令行輸入javac,如果沒報錯,則配置成功了

 

3.SDK

下載安裝sdk即可,

配置環境變量:

新建系統環境變量ANDROID_HOME ,路徑: E:\AndroidSDK (路徑不能包含空格,因此我直接裝在E盤根目錄,而不是Program file 目錄下)

向用戶變量PATH里面添加路徑:%ANDROID_HOME%\platform-tools;

向系統變量path里面添加路徑:%ANDROID_HOME%\tools;

嘗試向命令行輸入adb,如果沒報錯,則配置成功了;

接下來打開Android SDK Manager,下載好以下幾個包:

(圖上為installed即是我下載的,當然有一個是要更新的,Android SDK platform-tool,我暫不更新)

 

4.確保已經安裝有ionic 和cordova

npm install ionic cordova -g

這里順帶記錄一下,npm安裝全局依賴,為了方便管理包,我是直接在nodeJS 的安裝目錄下C:\Program Files\nodejs,新建node_cache、node_global連個文件夾,node_global用於保存所有npm全局安裝的依賴包。

然后配置環境變量:

向用戶變量path ,添加路徑:C:\Program Files\nodejs\node_global\;

向系統環境變量path,添加路徑 C:\Program Files\nodejs\;

新建系統環境變量,NODE_PATH , 添加路徑: C:\Program Files\nodejs\node_global\node_modules;

打開命令行窗口運行一下命令修改npm全局安裝路徑:

npm config set prefix "C:\Program Files\nodejs\node_global"

npm config set cache "C:\Program Files\nodejs\node_cache" 

這樣一來,全局安裝的包就會被本項目所引用到了,並且統一裝在C:\Program Files\nodejs\node_global\node_modules目錄下面,可以重復利用,避免多次安裝;

 

5.到這里,環境安裝的差不多了,可以進行打包了

執行添加安裝平台的命令

ionic platform add android

打包項目

cordova build --release android

#如果出現報錯

Error:Unable to start the daemon process. 

This problem might be caused  by  incorrect configuration of the daemon. 
For example, an unrecognized jvm option  is  used. 
Please refer to the user guide chapter  on  the daemon at http: //gradle.org/docs/2.2.1/userguide/gradle_daemon.html 
Please read the following process output to find  out  more: 
----------------------- 
Error occurred during initialization of VM 
Could not reserve enough space  for  object  heap 
Error: Could not create the Java Virtual Machine. 
Error: A fatal exception has occurred. Program will exit.
 
解決方法:
新建系統環境變量 _JAVA_OPTIONS,值為: -Xmx512M;

確定,重新打包;

成功后就會在項目根目錄 platforms\android\build\outputs\apk\下可以找到尚未簽名的apk

 

 #如果在download gradle 很久,然后報錯時,可以通過以下方法解決:

上網找對應版本的gradle zip包(看命令行提示的是什么版本) ,下載后粘貼路徑如:myApp\platforms\android\gradle\gradle-2.2.1-all.zip;

然后找到 project/platforms/android/cordova/lib/builders/GradleBuilder‌​.js,這個文件里面,找到變量 var distributionUrl=http\\://services.gradle.org/distributions/gradle-2.2.1-all.zip;將路徑改成你剛剛存放gradle包的路徑

../../../android/gradle/gradle-2.13-all.zip

這樣問題就解決了;

 

6.apk簽名

生成key證書於項目根目錄 sm.keystore

keytool -genkey -v -keystore sm.keystore -alias sm.keystore -keyalg RSA -validity 20000

(keytool是在jdk里面的一個生成key簽名證書的工具,E:\Program Files\Java\jdk\bin下可以找到)

 

根據key證書進行apk簽名

jarsigner -verbose -keystore sm.keystore -signedjar D:\PHP\htdocs\shenmaf\platforms\android\build\outputs\apk\shenma.apk D:\PHP\htdocs\shenmaf\platforms\android\build\outputs\apk\android-release-unsigned.apk sm.keystore

jarsigner 是簽名工具也是在jdk里面;

sm.keystore是上面所生成的簽名證書

 -signedjar 后面第一個參數是簽名后apk的存放路徑,第二個參數是尚未簽名的證書的路徑

 

執行完后,即可在上述指定的路徑下生成shenma.apk,安卓手機安裝運行即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM