最近项目需要用到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 一些常见问题和命令的更多相关文章

  1. ionic学习笔记—常用命令

    Ionic CLI介绍 Ionic CLI是开发Ionic应用程序过程中使用的主要工具.它就像一个瑞士军刀:它在一个界面下汇集了大量工具. CLI包含许多对Ionic开发至关重要的命令,例如start ...

  2. 整理我的Git常见问题和命令

    整理我的Git常见问题和命令 目录 整理我的Git常见问题和命令 提交注释规范 合并分支 clone & 切换分支 支持中文路径显示 账户及密码 基于远程分支创建本地分支 提交注释规范 举例: ...

  3. ionic一些常见问题及方法

    1.打包的app无法访问互联网及网络资源(比如网页调试可以请求数据,安装到手机上无法请求数据) 添加白名单插件 ionic plugin add https://github.com/apache/c ...

  4. ionic一些常见问题及方法(网页链接式)

    ionic 进入二级目录以后隐藏底部导航栏(tabs) http://blog.csdn.net/shenshucong520/article/details/48287811ionic三级目录乃至多 ...

  5. 【linux】常见问题&常用命令笔记

    1.重启以及关机命令: Linux centos重启命令: (1)reboot   普通重启 (2)shutdown -r now 立刻重启(root用户使用) (3)shutdown -r 10 过 ...

  6. ionic安装插件常用命令

    常见插件查找网站: http://ngcordova.com/docs/plugins http://cordova.apache.org/plugins/ $ ionic plugin list / ...

  7. MySQL常见问题和命令

    问题: 1.centos MySQL启动失败:关闭selinux, vi /etc/selinux/config, 设置SELINUX=disabled,重启电脑: 命令: 停止.启动mysql服务器 ...

  8. ionic使用常见问题(八)——PHP无法获取$http的post数据

    一个简单的post请求 $http.post('do-submit.php',myData) .success(function(){ // some code });   可是,用angularjs ...

  9. [转]轻松学习Ionic (四) 修改应用图标及添加启动画面(更新官方命令行工具自动生成)

    本文转自:http://blog.csdn.net/zapzqc/article/details/42237935 由于Ionic更新了命令行工具,以后修改应用图标和添加启动画面就简单了,最新方法见最 ...

随机推荐

  1. 二进制加法Java实现

    二进制整数的Java实现 任意两个二进制数(不论在什么位置)相加,只可能出现4种情况.它们是: 0+0=0 1+0=0+1=1 1+1=10=0+向高一位的进位1 1+1+1=11=1+向高一位的进位 ...

  2. Java实现大数相加、相乘(不使用BigInteger)

    大数相加: package algorithm; //使用BigInteger类验证 import java.math.BigInteger; public class BigAdd { public ...

  3. hystrix降级初步学习

    通过hystrix可以进行服务的限流.熔断.降级 配置 服务端Eureka server: port: 8761 # 指定该Eureka实例的端口 eureka: client: registerWi ...

  4. [宏]__stringify

    Linux内核中有如下两个宏: #define __stringify_1(x...) #x #define __stringify(x...) __stringify_1(x) 写代码测试如下: # ...

  5. java中Memcache的使用

    java中Memcache的使用 一.什么是Memcached? Memcached是danga.com开发的分布式内存对象缓存系统,所谓分布式,意味着它不是本地的,而是基于网络连接完成服务.Memc ...

  6. 图形数据库Neo4j基本了解

    在深入学习图形数据库之前,首先理解属性图的基本概念.一个属性图是由顶点(Vertex),边(Edge),标签(Lable),关系类型和属性(Property)组成的有向图.顶点也称作节点(Node), ...

  7. Maven项目打包成可执行Jar文件

    在使用Maven完成项目以后,如果需要打包成可执行的Jar文件,我们通过eclipse的导出很麻烦,还得指定入口文件的位置,还得说明依赖的jar包,既然都使用Maven了,很重要的一个目的就是让这些繁 ...

  8. vue-02-安装-指令

    1, vue安装 1), 安装vue-cli npm install -g cnpm --registry=https://registry.npm.taobao.org 之后可以用 淘宝的npm镜像 ...

  9. process_begin: CreateProcess(NULL,......) make (e=87): 参数错误。

    在编译 trinity-android 的过程中,总是报 process_begin: CreateProcess(NULL,......) make (e=87): 参数错误 原因是.MK文件中包含 ...

  10. Tirgger SimpleTrigger CronTrigger(四)

    触发器通用属性: jobKey:表示job实例的标识,触发器被触发时,指定的job实例会被执行. startTime:表示触发器的时间表 首次被触发的时间,他的值类型为java.uti.Date. e ...