最近項目需要用到ionic就馬上去擼,但是做下來發現官方文檔的native插件,按照文檔來做也遇到很多坑或者暫時想不出辦法實現的。
ionic這種屬於跨平台的開發,是適用於比較常見通用的平台,安卓機,蘋果機,網頁這些,對於有針對性的開發,如pos機開發那些,就要注意了,可能需要自己開發封裝插件。
現在說正文:
現在推薦一篇文章,可以解決從node.js之后如何安裝好環境配置到打包apk
IONIC3 打包安卓apk詳細過程(大量圖文)
https://blog.csdn.net/qq_20264891/article/details/79319408
ps:上面的基本可以解決環境配置,如果你使用的電腦用戶不是管理員權限,那就另外需要在當前你所使用的用戶上,用戶變量path再配置多次剛剛配置系統變量path的那幾個參數即可。
常見命令:
ionic開發app一般都是會用到native插件的,所以也就用到cordova。
1.不使用dordova正常頁面開發:
ionic serve
2.使用cordova插件,在網頁開發:(有修改會自動build更新)
ionic cordova run android -lc --address=localhost
3.打包 (prod解決啟動慢的問題)
debug模式打包 release模式打包
ionic cordova build android --prod --debug
ionic cordova build android --prod --release
4.打包有時候明明正確到時候最后還是失敗的可能原因
有可能是之前有失敗的文件在platforms里面,所以導致失敗。解決方法:
ionic cordova platforms remove android
ionic cordova platforms add android
5.開發寫代碼
5.1平時我們都會http請求回來后得到的res,獲取里面的參數的寫法是 res.data,在ionic這樣寫會報錯,所以改成這種寫法
res['data']
5.2app請求服務器有跨域問題,那就需要后端設置允許跨域。如果需要設置頭部,那請求就會變成復雜請求,那在跨域中,復雜請求會有‘預檢測’請求,請求類型是options。之后才是原本的get,post請求。
6打包apk
6.1在JDK目錄下bin文件夾,檢查keytool.exe和arsigner.exe文件是否存在
6.2把打包的apk放在bin文件並改名為app.apk
6.3在cmd命令
keytool -genkey -v -keystore [姓名].keystore -alias [姓名].keystore -keyalg RSA -validity 20000
例:
keytool -genkey -v -keystore zhangqiang.keystore -alias zhangqiang.keystore -keyalg RSA -validity 20000
/*
使用工具, 簽名:
-genkey表示構建簽名文件
-v 顯示在dos窗口中
-alias表示簽名包的別名
-validity 簽名有效期(天)
姓名:填上,用你名字拼音全拼
城市:隨便填,不填也行
國家: 隨便填,不填也行
密碼口令:敲的時候不動,是因為保護隱私,別當做你電腦死機!
*/
6.4給文件簽名
jarsigner -verbose -keystore [姓名].keystore -signedjar complete.apk app.apk [姓名].keystore
例:
jarsigner -verbose -keystore zhangqiang.keystore -signedjar complete.apk app.apk zhangqiang.keystore
最后就有個complete.apk
7Android Studio真機測試(默認你已配置好環境等)
7.1連接好安卓機
7.2編譯一下
成功后
7.3RUN
就成功了