一.準(zhǔn)備工作:
下載安裝 Node.js (npm依賴包)JDK (Java開發(fā)工具包躯保,即Java Develop Kit)Android SDK? (用于android編譯)
注:node.js? jdk ?androidsdk需要加入環(huán)境變量path中
1.1 安裝node.js
測試是否安裝成功
cmd輸入 node -v
1.2 安裝jdk
安裝jdk時會安裝兩次 一次是安裝jdk 一次是安裝jer 不要裝在同一個文件夾下盏袄,會報錯
建議放在同一個父目錄java下,一個jar蜗元、一個jer文件夾
JRE: Java Runtime Environment
JDK:Java Development Kit
JRE顧名思義是java運行時環(huán)境,包含了java虛擬機,java基礎(chǔ)類庫。是使用java語言編寫的程序運行所需要的軟件環(huán)境,是提供給想運行java程序的用戶使用的罪塔。
JDK顧名思義是java開發(fā)工具包投蝉,是程序員使用java語言編寫java程序所需的開發(fā)工具包,是提供給程序員使用的征堪。JDK包含了JRE瘩缆,同時還包含了編譯java源碼的編譯器javac,還包含了很多java程序調(diào)試和分析的工具:jconsole佃蚜,jvisualvm等工具軟件庸娱,還包含了java程序編寫所需的文檔和demo例子程序着绊。
安裝完成之后 配置環(huán)境變量
JAVA_HOME D:\web\java\jdk? (指向jdk的安裝目錄)
path? ? ? ? %JAVA_HOME%\bin
? ? ? ? ? ? ? ? ?%JAVA_HOME%\jre\bin
測試是否安裝成功
cmd輸入 java -version
1.3 下載android_sdk
解壓后運行 sdk-manager.exe 下載需要的工具
配置環(huán)境變量
ANDROID_HOME? ? D:\web\android-sdk
path? ? ? ? %ANDROID_HOME%\tools
? ? ? ? ? ? ? ? %ANDROID_HOME%\platform-tools
1.4谷歌瀏覽器設(shè)置
桌面圖標(biāo) -右擊屬性-快捷方式-目標(biāo)
后面加入以下代碼
--args --disable-web-security --user-data-dir
注:關(guān)于這個設(shè)置,是為了解決ionic項目在谷歌瀏覽器調(diào)試時js跨域熟尉。關(guān)于跨域归露,網(wǎng)上很多解決方法,服務(wù)端設(shè)置或者代理斤儿,但是因為ionic打包app之后再手機上運行是不存在跨域的問題的剧包,只是在瀏覽器調(diào)試時跨域,屬于只需要設(shè)置瀏覽器非安全模式就可以了往果,簡單粗暴的方法疆液。
二.安裝ionic,cordova
2.1通過nodejs自帶npm來管理項目的依賴包(關(guān)于npm的知識自行百度)
安裝命令:
npm install -g cordova ionic ? ? ? // ?-g代表全家安裝
不夠由于GFW智蝠,下載速度不忍直視颖杏,所以我們用npm淘寶鏡像cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
安裝之后女气,以后可以用cnpm來代替npm命令使用
cnpm install -g ionic cordova
其他常用命令
npm update -g cordova ionic ? ?//更新
npm install -g ionic@latest? //安裝最新版本ionic
npm install -g ionic@1.7 ? ?//安裝特定版本ionic
npm install -g cordova@6.5 ? ?//安裝特定版本cordova
npm uninstall cordova -g ? ? ?//卸載
npm help ? ?//查看全部命令
三.新建項目
在安裝最新版本ionic3.4.2之后,ionic v3CLI發(fā)生了一些變化:
參照:https://docs.google.com/document/d/1r8nTAaJ5hLIJ1DCwBozU-JGV480Du0xCMIg2dj3JRQo/edit#
本次版本從ionic2.2.1升級到ionic3.3掉缺,CLI升級到3.4.0,
版本記錄:
新建項目
ionic start myapp tabs|sidemenu|blank|super|tutorial
ionic serve
詳情見官方:http://ionicframework.com/docs/intro/installation/
瀏覽器調(diào)試查看 ? ? ?ionic serve
生成圖標(biāo)和啟動頁 ? ? ionic resources
添加平臺 ? ? ionic cordova platform addandroid/ios
添加平臺 ? ? ?ionic cordova platform removeandroid/ios
安裝插件 ? ?ionic cordova plugin add XXX
移除插件 ? ?ionic cordova plugin remove XXX
打包(測試) ? ?ionic cordova build android
ionic cordova build ?android --release(正式包)
打包時加上--prod的優(yōu)化啟動速度,例如
ionic cordova ?build? android --prod --release(正式包)
adb? cordova devices (檢測安卓手機連接)?
ionic cordova run android (連接上手機運行)?
ionic cordova emulate android (模擬器運行)
ionic build android? //打包測試包
ionic build --release android? //打包正式包
2.2如何用xcode 打包IONIC 項目(IPK)
將項目文件copy到MAC底下局骤。運行終端攀圈,cd到項目所在文件夾,運行
ionic platform add ios
然后finder峦甩,在 platforms->ios->xxx.xcodeproj 打開項目
然后赘来,將xcode的模擬器類型選成iOS Device
然后在XCODE 的菜單欄 選擇 Product -- Archive ,會生成 xxx的Archive文件凯傲。
在窗口右側(cè)的Submit to AppStore 按鈕的下方犬辰,點擊 Export...
有三個選項
Save to IOS App Store Deployment
Save to Ad Hoc Deployment
Save for Enterprise Deployment
第一個是發(fā)布到APPStore
第二個臨時打包,可以用來測試
第三個是發(fā)布成企業(yè)版本
選擇證書等等冰单,選擇導(dǎo)出文件夾幌缝,導(dǎo)出
三.apk簽名
3.1生成簽名(.keystore)文件
keytool -genkey -v -keystore demo.keystore -alias demo.keystore -keyalg RSA -validity 20000
keytool是工具名稱,
-genkey意味著執(zhí)行的是生成數(shù)字證書操作诫欠,-v表示將生成證書的詳細(xì)信息打印出來涵卵;
-keystore demo.keystore 證書的文件名;
-alias demo.keystore 表示證書的別名
-keyalg RSA 生成密鑰文件所采用的算法荒叼;
-validity 20000 該數(shù)字證書的有效期轿偎;
輸入后會讓你回答關(guān)于你公司和地區(qū)的一些問題,這些回答一定要記住被廓,以后更新apk的時候需要用到坏晦,最好截屏記錄。
3.2簽名apk
jarsigner -verbose -keystore /yourpath/demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
jarsigner是工具名稱,-verbose表示將簽名過程中的詳細(xì)信息打印出來昆婿;
-keystore /yourpath/demo.keystore 之前生成的證書
-signedjar demo_signed.apk 簽名后的apk
demo.apk 需要簽名的apk
demo.keystore 證書的別名
執(zhí)行后會生成一個已簽名成功的apk球碉,你可以用這個包發(fā)布市場。
3.3優(yōu)化(可選)
使用Zipalign優(yōu)化仓蛆,Zipalign是一個android平臺上整理APK文件的工具睁冬,它首次被引入是在Android 1.6版本的SDK軟件開發(fā)工具包中。它能夠?qū)Υ虬腁ndroid應(yīng)用程序進行優(yōu)化多律, 以使Android操作系統(tǒng)與應(yīng)用程序之間的交互作用更有效率痴突,這能夠讓應(yīng)用程序和整個系統(tǒng)運行得更快。
命令如下:
$ zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk