windows下安装配置

npm install -g ionic 
npm install -g cordova 
ionic start myproject 
cd myproject 
ionic platform add Android 
ionic build android 
ionic emulate android 
(build emulate可合并执行: ionic run android )

mac下安装配置

准备工作

安装 xcode及命令行工具 
Xcode -> Preferences -> Downloads -> Command Line Tools

要安装Git、安装nodejs 
如果安装了ruby,可以使用brew安装 nodejs

brew install node 
npm install -g cordova ionic gulp gulp视情况选择是否安装 
npm install iOS-sim 
ionic start myApp sidemenu 
ionic platform add ios # Add the ios platform to project 
ionic build ios # Compile the ios code 
ionic emulate ios # Launch the app on an ios Simulator 
ionic run ios # Launch on device* 
注意不能使用sudo ionic run ios,切记。 
如果出现错误:

Failed to fetch platform ios
Probably this is either a connection problem,or platform spec is incorrect.
Check your connection and platform name/version/URL.
Error:EPERM,utime '/Users/name/.cordova/lib/npm_cache/cordova-ios/3.9.2/package.npmignore'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

则运行这个命令:

rm -rf ~/.cordova 
删除 缓存。

项目创建完,会提示是否需要创建一个ionic账号,用来推送消息。

使用chrome调试

运行命令启动ionic服务端:

ionic serve 
按提示选择一个网络设备。

可以看到提示信息: 
http://192.168.2.102:8100 使用Chrome访问这个地址,就可以使用浏览器查看当前程序了。

 
提示那个黄条的时候,要刷新一次浏览器。

在浏览器输入:

chrome://inspect 
可以在这里定义开发机器与手机的端口转发等。

安装ngCordova

ngCordova是在CordovaAPI基础上封装了一系列开源的AngularJS服务和扩展。

首先要安装brow,用来管理前端资源的依赖

通过cd 命令,把当前路径设置到ionic/www/lib下

npm install bower -g 
bower install ngCordova

路径看起来是这样的: 
 
代码可以引用这里的angular替代/lib/ionic下的angular。 
在index.html加下ngCordova的引用:

 <script src="lib/bower_components/ngCordova/dist/ng-cordova.js"></script>
  • 1
  • 1

它是这样引用的:

var mainApp=angular.module('mainApp',['ionic','ngCordova']);
  • 1
  • 1

常用命令

$ ionic build <PLATFORM>
$ ionic emulate <PLATFORM>
$ ionic run <PLATFORM>
$ ionic run android --livereload -c -s //真机调试可以实时修改
$ ionic package <MODE> <PLATFORM>
$ ionic lib update 更新当前项目的ionic js类库
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

最好在config.xml配置一下白名单:

<allow-navigation href="http://www.abcdefg.com/*" />
  • 1
  • 1

发布

加一个文件

在ionic/platforms/android下建一个build-extras.gradle 
内容:

android { lintOptions { checkReleaseBuilds false } }
  • 1
  • 1

编译命令:

ionic build –release android

产生密钥:

keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore 
/*说明:-genkey 产生密钥 
-alias demo.keystore 别名 demo.keystore 
-keyalg RSA 使用RSA算法对签名加密 
-validity 40000 有效期限4000天 
-keystore demo.keystore */ 
签名: 
jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore 
/*说明:-verbose 输出签名的详细信息 
-keystore demo.keystore 密钥库位置 
-signedjar demor_signed.apk demo.apk demo.keystore 正式签名,三个参数中依次为签名后产生的文件demo_signed,要签名的文件demo.apk和密钥库demo.keystore.*/

zipalign(压缩对齐)优化你的APK文件

zipalign -v 4 demo_signed.apk final.apk

ionic使用方法的更多相关文章

  1. ionic跳转(二)

    1)网上说要想在js里跳转用,$state.go()方法,但找了大半天都没找到在ionic使用$state的方法 2)要想用js跳转,直接用原生js跳转也是可以的 location.href='#ho ...

  2. ionic基础知识

    ion-header-bar(头部 页眉) 在内容顶部添加一个固定header栏. 用法 <ion-header-bar align-title="left" class=& ...

  3. ionic view 视图

    ionic view  方法 $ionicView.loaded 视图已经被加载了.这事件只发生一次当视图被创建并添加到Dom中.当跳出页面并且被缓存了的话,再次访问这个页面时这个时间将不会被激活.L ...

  4. 安卓ios和angularjs相互调用解决首次调用ios传递标题失败的问题

    1.angular 调用客户端方法放在 try catch中 try { js_invoke.showShareDialog(angular.toJson(obj));  // 在这里放客户端的方法即 ...

  5. 安装使用ionic3

    1.安装ionic3 $ npm install -g ionic@latest 2.创建ionic3项目 $ ionic start myNewProject blank 3.启动ionic3项目 ...

  6. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  7. npm命令ionic安装失败cordova安装失败解决方法

    转载:http://bbs.phonegap100.com/thread-2622-1-1.html 镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在): ...

  8. Ionic打包过程下载Gradle失败的解决方法

      安卓应用现在很多都是基于gradle进行大包,ionic默认的打包命令 cordova  build --release  android 就是使用gradle进行打包,但同时ionic也支持in ...

  9. ionic中获取坐标方法

    ionic中获取坐标的方法 1.首相需要执行命令: cordova plugin add cordova-plugin-geolocation2.然后块级注入配置bower文件引入ngCordova ...

随机推荐

  1. 红米3 SM71.1(android-7.1.1_r6)更新发布20161229年末增强版

    一.写在前面 我只是个人爱好,本ROM未集成任何第三方推广软件,我只是喜欢把好的资源分享出来,若可以,我们一起学习,一起进步. 请不要问我怎么刷机! 请不要问我玩游戏卡不卡(有钱你就换好点的手机)! ...

  2. JQuery ajax调用一直回调error函数

    使用jquery的ajax调用,发现一直回调error函数,ajax调用代码如下,后台返回是正确的,为什么会报错呢?  var descValue = $('#descEditArea').val() ...

  3. 北京培训记day2

    后缀三姐妹 P.S.后缀大家族关系:后缀自动机fail指针=后缀树,后缀树前序遍历=后缀数组 一.后缀数组:orz罗穗骞集训队论文 给每个后缀按字典序排序 rank[]表示从i开始的后缀排名多少 sa ...

  4. UNIX下的LD_PRELOAD环境变量

    UNIX下的LD_PRELOAD环境变量 也许这个话题并不新鲜,因为LD_PRELOAD所产生的问题由来已久.不过,在这里,我还是想讨论一下这个环境变量.因为这个环境变量所带来的安全问题非常严重,值得 ...

  5. 常用的数据统计Sql 总结

    最近刚在搞一个BI的项目,里面需要大量的sql 数据统计相关运用,加深了我又对SQL的理解与使用. 所以,分享几个数据统计时常用的sql 语句总结: 1. 统计各个条件下的数据 select Batc ...

  6. Struts2返回json格式数据踩坑记录

    事件起因 昨天提测修改冻结/解冻银行卡样式的功能,微姐测试过程中发现调用ajax请求耗时过长,今天来排查,发现浏览器请求/finance/ajax/freeze/ajaxGetShopLists时,对 ...

  7. java中Map,List与Set的区别(转)

    Set,List,Map的区别 java集合的主要分为三种类型: Set(集) List(列表) Map(映射) 要深入理解集合首先要了解下我们熟悉的数组: 数组是大小固定的,并且同一个数组只能存放类 ...

  8. QEMU 中的QOM分析

    QOM (QEMU Object Model) 类对象的意义: 1:每个类型在系统中都只有且只有一个类对象 2:当系统中的某个类型的实例对象都被销毁了,那么系统就会销毁该类对象了 3:类对象的作用:负 ...

  9. Django 1.7 Tutorial 学习笔记

    官方教程在这里 : Here 写在前面的废话:)) 以前学习新东西,第一想到的是找本入门教程,按照书上做一遍.现在看了各种网上的入门教程后,我觉得还是看官方Tutorial靠谱.书的弊端一说一大推 本 ...

  10. Linux 下安装JRuby

    安装ruby cd git clone https://github.com/rbenv/rbenv.git ~/.rbenv echo 'export PATH="$HOME/.rbenv ...