ionic 一些常见问题和命令
最近项目需要用到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

就成功了
ionic 一些常见问题和命令的更多相关文章
- ionic学习笔记—常用命令
Ionic CLI介绍 Ionic CLI是开发Ionic应用程序过程中使用的主要工具.它就像一个瑞士军刀:它在一个界面下汇集了大量工具. CLI包含许多对Ionic开发至关重要的命令,例如start ...
- 整理我的Git常见问题和命令
整理我的Git常见问题和命令 目录 整理我的Git常见问题和命令 提交注释规范 合并分支 clone & 切换分支 支持中文路径显示 账户及密码 基于远程分支创建本地分支 提交注释规范 举例: ...
- ionic一些常见问题及方法
1.打包的app无法访问互联网及网络资源(比如网页调试可以请求数据,安装到手机上无法请求数据) 添加白名单插件 ionic plugin add https://github.com/apache/c ...
- ionic一些常见问题及方法(网页链接式)
ionic 进入二级目录以后隐藏底部导航栏(tabs) http://blog.csdn.net/shenshucong520/article/details/48287811ionic三级目录乃至多 ...
- 【linux】常见问题&常用命令笔记
1.重启以及关机命令: Linux centos重启命令: (1)reboot 普通重启 (2)shutdown -r now 立刻重启(root用户使用) (3)shutdown -r 10 过 ...
- ionic安装插件常用命令
常见插件查找网站: http://ngcordova.com/docs/plugins http://cordova.apache.org/plugins/ $ ionic plugin list / ...
- MySQL常见问题和命令
问题: 1.centos MySQL启动失败:关闭selinux, vi /etc/selinux/config, 设置SELINUX=disabled,重启电脑: 命令: 停止.启动mysql服务器 ...
- ionic使用常见问题(八)——PHP无法获取$http的post数据
一个简单的post请求 $http.post('do-submit.php',myData) .success(function(){ // some code }); 可是,用angularjs ...
- [转]轻松学习Ionic (四) 修改应用图标及添加启动画面(更新官方命令行工具自动生成)
本文转自:http://blog.csdn.net/zapzqc/article/details/42237935 由于Ionic更新了命令行工具,以后修改应用图标和添加启动画面就简单了,最新方法见最 ...
随机推荐
- Java学习笔记34(集合框架八:综合案例:模拟斗地主的洗牌发牌)
规则: 1.54张扑克牌,有花色 2.顺序打乱,一人一张依次发牌,一人17张,留三张作为底牌 3.看牌:按大小王2A....43的序排列打印 示例: package demo; import java ...
- php使用curl模拟登录带验证码的网站[开发篇]
需求是这样的,需要登录带验证码的网站,获取数据,但是不可能人为一直去记录数据,想通过自动采集的方式进行,如下是试验出来的结果代码!有需要的可以参考下! <?php namespace Home\ ...
- ElasticSearch权威指南学习(结构化查询)
请求体查询 简单查询语句(lite)是一种有效的命令行adhoc查询.但是,如果你想要善用搜索,你必须使用请求体查询(request body search)API. 空查询 我们以最简单的 sear ...
- css高级选择器&盒模型
css高级选择器&盒模型 1.组合选择器 群组选择器 /* 每个选择器为可以为三种基础选择器的任意一个,用逗号隔开,控制多个*/ div,.div,#div{ color:red } 后代(子 ...
- 内存管理-slab[原理]
前言 主要讲解原理,基于2.6.32版本内核源码.本文整体思路:先由简单内存模型逐渐演进到当下通用服务器面对的内存模型,讨论每一个内存模型下slab设计需要解决的问题. 历史简介 linux内核运行需 ...
- Python函数学习——作用域与嵌套函数
全局与局部变量 在函数中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的函数. 当全局变量与局部变量同名时,在定义局部变量的函数内 ...
- 2-3 用组件改写Todolist案例
编写组件来改写2-2的Todolist案例
- python国外博客推荐
http://michal.karzynski.pl/blog/2013/06/09/django-nginx-gunicorn-virtualenv-supervisor/ https://www. ...
- underscore.js源码解析【函数】
// Function (ahem) Functions // ------------------ // Determines whether to execute a function as a ...
- salesforce lightning零基础学习(九) Aura Js 浅谈二: Event篇
上一篇介绍了Aura Framework中 Component类的部分方法,本篇将要介绍Event常用的方法. 1. setParam (String key , Object value):设置事件 ...