1、前言html
前段時間,公司有個APP項目須要支持不一樣平臺,因而採用了Ionic2 + cordova + angular2,在搭建環境過程當中遇到了很多問題,恰好最近有時間整理出來。java
2、開發環境搭建node
參考這個網站步驟搭建:https://github.com/DonaldTdz/Ionic2QuickStartandroid
注意:nodejs 要裝6.0 +LTS最新版,不要裝8.X的最新版本(https://nodejs.org/en/)git
Cordova版本要安裝6.X版本,目前cordova-android版本最高只能支持到6.X.Xgithub
cmd: cnpm install –g ionic cordova@6.xapache
cmd: ionic –v Cordova –v 查看顯示版本號,安裝成功npm
3、運行一個ionic種子項目angular2
下載地址:https://github.com/DonaldTdz/ionic-seedoracle
用vs code打開終端輸入命令:cnpm install
Ionic serve 運行項目
Web端運行項目成功,開發環境搭建完成
下面咱們開始打包到Android APP
4、Cordova打包Android平臺環境搭建
參考官方說明:
(中文)http://cordova.axuer.com/docs/zh-cn/latest/guide/platforms/android/index.html
(英文)http://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html
注:中文網址信息不是最新,訪問速度比較快,英文更新到最新,但訪問速度較慢
一、安裝Java SDK
安裝Java Development Kit (JDK) 7或者最新的。
當在Windows上安裝的時候須要根據JDK路徑設置JAVA_HOME
環境變量(參見設置環境變量)
cmd:Java –version 顯示版本號安裝成功
Java SDK環境變量配置
JAVA_HOME 配置安裝目錄
Path配置:%JAVA_HOME%\bin
添加CLASSPATH : .;%JAVA_HOME%\lib; (注:如存在這個環境變量,須要檢查)
二、安裝Android SDK Tools
(注:若是須要添加cordova插件,建議安裝Android Studio)
安裝Android Stand-alone SDK或者Android Studio。若是你計劃開發一個新的Cordova Android插件或者使用Android平臺原生的工具去運行和調試,那麼就使用Android Studio吧。不然,Android Stand-alone SDK Tools就足夠構建和部署Android應用程序了。
詳細的安裝說明能夠點擊上面的安裝連接查看。
三、添加Android SDK包
在安裝完Android SDK後,你須要安裝任何你但願的目標API級別的SDK包。建議你安裝cordova-android(參見上面)支持的最高級別的SDK包。
打開Android SDK Manager (例如,在終端上運行`android),並確保下面已經安裝:
參見 Android文檔安裝SDK包得到詳細內容。
先打開剛下載的項目終端運行:cordova platform ls 查看cordova android依賴的android SDK版本
對應下面列表依賴android API級別是16-25(http://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html)
而後下載對應的依賴包
安裝成功後配置環境變量
ANDROID_HOME:
D:\Program Files\Android\android-sdk
Path:
D:\Program Files\Android\android-sdk\platform-tools
D:\Program Files\Android\android-sdk\tools
cmd:android –h 查看以下面表示安裝成功
5、打包Android APP
一、 添加Android平臺
Ionic cordova platform add android
二、依賴gradle修改到本地
緣由是國外網站打包運行時很慢或致使失敗,你懂的
下載地址:https://services.gradle.org/distributions/
(注:以下載慢用下載工具如迅雷)
下載版本選擇,先搜索distributions/gradle
以下咱們須要版本:gradle-2.14.1-all.zip,避免下錯版本
下載完成不用解壓,直接拷貝到你項目的下面這個路徑:
\app\platforms\android\gradle(注:如不存在須要建一個,注意拼寫錯誤)
打開剛搜索到的文件:\platforms\android\cordova\lib\builders\GradleBuilder.js
將原來的註釋掉並修改成本地包../gradle-2.14.1-all.zip
三、 打包應用
ionic cordova build android
打包完成後會輸出一個apk手機安裝包文件
安裝到手機運行成功!!
6、應用簽名和啓動優化
一、生成簽名祕鑰
首先你應該閱讀Android應用簽名所需。
簽名一個應用,你須要下面參數:
參數 | 標誌 | 描述 |
---|---|---|
Keystore | --keystore |
用來存儲一組key的二進制文件路徑 |
Keystore Password | --storePassword |
keystore存儲密鑰 |
Alias | --alias |
用來指定私有key用來簽名 |
Password | --password |
私有key的密碼 |
Keystore的類型 | --keystoreType |
默認: 自動檢測基於文件擴展名 pkcs12或者jks |
這些參數能夠經過上面的Cordova CLI build
或者 run
命令來指定命令行參數。
注意: 你應該使用兩個中劃線 --
來表示這些平臺特定參數,例如:
cordova run android --release -- --keystore=../my-release-key.keystore --storePassword=password --alias=alias_name --password=password
.
cmd 到目錄:D:\projects\dev\tz\saas\app\platforms\android(android平臺根目錄)
cmd:keytool -genkey -alias tzky.keystore -keyalg RSA -validity 40000 -keystore tzky.keystore
根據輸入提示完成輸入,生成成功後刷新android平臺根目錄
二、簽名應用並打包
cordova build android --release -- --keystore="..\tzky.keystore" --storePassword=xxxxx --alias=tzky.keystore
(注:自動生成打包配置文件release-signing.properties須要注意tzky.keystore的放置路徑要匹配)
手動添加release-signing.properties文件並修改:
添加完成後直接運行:cordova build android –release
三、優化啓動速度
ionic cordova build android --prod –release
(注意:須要代碼優化,若是有錯誤,根據錯誤提示修改)
啓動優化參考:http://blog.csdn.net/u010564430/article/details/61201769
在config.xml文件中添加以下內容:
<preference name="AutoHideSplashScreen" value="false" />
<preference name="FadeSplashScreenDuration" value="1000" />
<preference name="SplashScreen" value="screen" />
<preference name="ShowSplashScreen" value="true" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="FadeSplashScreen" value="true" />