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. form表单提交时,action怎么带参数

    <html> <title>form</title> <script type="text/javascript"> functio ...

  2. webView和js交互

    与 js 交互 OC 调用 JS // 执行 js - (void)webViewDidFinishLoad:(UIWebView *)webView { NSString *title = [web ...

  3. Python Day11

    RabbitMQ队列 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, 消息队列 ...

  4. SQL中部分语法整理

    1.SELECT DISTINCT 语句 关键词DISTINCT用于返回唯一不同的值. 语法: SELECT DISTINCT 列名称 FROM 表名称 2.SELECT INTO语句 SELECT ...

  5. js

    1.判断是否为空 if (typeof(a)!="undefined") 2. pop()移除数组最后一个元素 var arr = [];   $('#tableid tr').f ...

  6. ubuntu重启搜狗输入法

    fcitx | xargs kill sogou-qimpanel | xargs kill 或者编写Shell脚本restart_sougou.sh,放到/usr/bin目录下,不要忘记chmod修 ...

  7. js计时器,点击开始计时,再点击停止

    点击倒计时开始,点击停止,再次点击又开始,再点停止... <i id=</i>秒 <em onclick="timeOpen();">开始</e ...

  8. Python连接MySQL

    win10.Python2.7.Pycharm import MySQLdb conn = MySQLdb.Connect( host = '127.0.0.1', port = 3306, user ...

  9. 【译文】JNI编程

    原文链接: https://www3.ntu.edu.sg/home/ehchua/programming/java/JavaNativeInterface.html   没有逐字翻译,解说了文章的大 ...

  10. nginx+Memcached 缓存设计

    单页面缓存方案 单静态页缓存 解决问题场景 常见的缓存设计利用System.Web.Cache 保存在内存内,效率高,可以减轻数据库访问的压力.但是Web除了获取数据之外,还有呈现页面渲染,生成HTM ...