最近项目需要用到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
就成功了