ionic 混合应用开发
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 混合应用开发的更多相关文章
- phoneGap+cordova+ionic混合app开发环境搭建
参考链接:http://www.w2 bc.com/article/177257 待补充
- ionic4 混合移动开发 (前世今生)
ionic 从2016年初识,经历了 ionic2 ionic3.至今 ionic4,终于在2018年7月份发布了测试版. ionic Framework 可以说得上是最接近原生app的ui组件,漂亮 ...
- 没有苹果电脑打包iOS平台的 Ionic 2程序——《Ionic 2 实例开发》更新内容
没有苹果电脑打包iOS平台的 Ionic 2程序--<Ionic 2 实例开发>更新内容春节刚过,祝各位新的一年里万事如意,一帆风顺.<Ionic 2 实例开发>在这段时间里更 ...
- 混合app开发,h5页面调用ios原生APP的接口
混合APP开发中,前端开发H5页面,不免会把兼容性拉进来,在做页面的兼容性同事,会与原生app产生一些数据交互: 混合APP开发,安卓的兼容性倒是好说,安卓使用是chrome浏览器核心,已经很好兼容H ...
- iOS原生混合RN开发最佳实践
iOS原生混合RN开发详解 做过原生iOS开发或者Android开发的同学们肯定也都了解Hybrid,有一些Hybrid的开发经验,目前我们企业开发中运用最广泛的Hybrid App技术就是原生与H5 ...
- 混合应用开发:Phonegap VS AppCan
混合应用开发:Phonegap VS AppCan 简介 Phonegap PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台.它使开发者能 ...
- 《Ionic 2 实例开发》发布
Ionic 2系列教程集结成册,在百度阅读上架发布,名为<Ionic 2实例开发>(点击书名将打开地址:http://yuedu.baidu.com/ebook/ba1bca51e4189 ...
- Qt混合Python开发技术:Python介绍、混合过程和Demo
前言 Qt中混合Python开发,可调用Python命令与脚本. Python Python是一种跨平台的计算机程序设计语言. 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语 ...
- zx-editor 移动端(HTML5)富文本编辑器,可与原生App混合(hybrid)开发
ZxEditor 移动端HTML文档(富文本)编辑器,支持图文混排.引用.大标题.无序列表,字体颜色.加粗.斜体. 可用于独立web项目开发,也可以用于与原生App混合(hybrid)开发. 源码地址 ...
随机推荐
- gitlab 部署
Gitlab 安装 GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目.它拥有与Github类似的功能, ...
- Django:查询后,分页功能为全部对象分页,丢失查询查询参数
问题: 原始的链接为 http://127.0.0.1:8000/article/list-article-titles-bysomeone/guchen/?column=django 有一个colu ...
- ionic3.x angular4.x ng4.x 自定义组件component双向绑定之自定义计数器
本文主要示例在ionic3.x环境下实现一个自定义计数器,实现后最终效果如图: 1.使用命令创建一个component ionic g component CounterInput 类似的命令还有: ...
- Akka(20): Stream:异步运算,压力缓冲-Async, batching backpressure and buffering
akka-stream原则上是一种推式(push-model)的数据流.push-model和pull-model的区别在于它们解决问题倾向性:push模式面向高效的数据流下游(fast-downst ...
- sudoer命令各参数含义及设置
对于普通用户sudo加权的时限制可以执行的命令 https://segmentfault.com/a/1190000007394449 需要修改/etc/sudoers 1. 字段说明如下 授权用户/ ...
- js 正则语法
原文:一次性搞懂javascript正则表达式之语法 看完原文,对正则中以前一知半解的捕获组与非捕获组.零宽断言有了更深的理解.很感谢原文作者~~ 普通字符 当我们写a的时候,我们指的就是a:当我们写 ...
- Note of The Linux Command Line
心得 在用鼠标点击的图形化桌面之前,单纯用键盘操作软件的时代已经很成熟了.并且还在这样延续下去.鼠标不是电脑操作的唯一模式,至少不是程序员的. 在黑色屏幕下,因为没有鼠标所以只能用按键来操作软件.包括 ...
- 强烈鄙视那些:自己完全不用android手机,却在做android开发的人
前言: 最近参加android技术交流会,看到几个同时用mac和iphone的人,以为他们是全栈工程师(android和ios都会) , 谁知道交流下来,居然只是做android开发的,ios根本不会 ...
- Mac下使用Typora的一些简单操作
说明: 以下方法并不是唯一的,我只是选择了我验证成功或者比较喜欢的一种 以下基本所有操作符都是在英文输入法下进行的,中文输入法有时下达不到所要的效果 如果您在浏览本博文的时候发现有侵权行为,请及时与博 ...
- C#:VS2010 由于缺少调试目标"xx.exe",Visual Studio无法开始调试,请生成项目并重试,或者相应地设置OutputPath和AssemblyName属性,使其指向目标程序集的正确位置
解决办法:重置VS2010的环境配置 原文地址:曾是土木人 转载请注明出处:http://www.cnblogs.com/hongfei/p/3813369.html