在android模拟器中调试应用,启动报错
运行ionic emulate/run android -l -c -s 时模拟器提示There was a network error
。
解决:在项目根目录运行命令以安装插件
ionic plugin add https://github.com/apache/cordova-plugin-whitelist.git
在windows系统下用npm安装ionic2插件提示
Please try running this command again as root/Administrator.
解决:命令行输入npm cache clean -f
,回车执行完毕后再次npm install --save 你需要的插件
在用JWT做权限验证时,服务端响应JWT;app从jwt解析数据不支持中文字符。需要在服务端对中文字符串进行URLEncoder处理,办法有很多。我这里后台是Java处理的
URLEncoder.encode("李四","utf-8")
//服务器返回的jwt 字符串
let str = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIlRTYlOUQlOEUlRTUlOUIlOUIiLCJpc3MiOiIlRTUlQkMlQTAlRTQlQjglODkiLCJ1c2VyaWQiOjEyMzR9.8JgNi9NSPxWLYI3b0wCIearva72RobMrhdveXH2_Djw'
let str2 = str.split('.')[1];//取出用户信息
let str3 = window.atob(jwt);//得到:{"sub":"%E6%9D%8E%E5%9B%9B","iss":"%E5%BC%A0%E4%B8%89","userid":1234}
let str4 = decodeURIComponent(str3);//得到:{"sub":"李四","iss":"张三","userid":1234}
//到这里就可以从json解析我们所需的数据
let subject = JSON.parse(str4).sub;
- ionic 生成android app安装后启动白屏
ionic build android --release --prod
- ionic 生成app后修改默认包名
先删除原来生成好的平台,比如android平台
ionic platform remove android
然后项目根目录config.xml的widget节点的id即为包名,修改它。
然后宠幸添加平台后,包名为最新修改的
ionic platform add android