ionic2android
1. 如何快速地开发一款 Android App
非原生App开发的基本步骤(以安卓端为例) 主要使用: 移动端:ionic、cordova 后端:CoreThink 注:这是我司一位美女研发顺手整理过的一份概要流程,希望多少能帮到题主,如果有不合理或者错误的地方欢迎反馈给我,官网:CoreThink-最好用的开源免费WEB产品开发框架,qq:1270686837,这个流程可以非常快地同时产出iOS&Android两端非原生APP。 一、安装 1.安装node.js 2.安装git 3.安装ionic & cordova: 命令行输入:npm install –g cordova ionic 注:-g表示全局安装,也可以进入指定的目录安装,但这里推荐全局安装,安装后的目录为C:/users/Administrator/AppData/Roaming/npm/node_moles 4.安装Java JDK 5.安装Apache Ant 6.安装Android SDK(从这里开始后面基本以android为例,ios类似) 7.设置环境变量: ①打开计算机->系统属性->高级系统设置->环境变量 ②在系统变量中新建ANDROID_HOME变量,变量值为sdk所在目录 ③新建CLASSPATH变量,变量值为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; ④新建JAVA_HOME变量,变量值为jdk所在目录 ⑤编辑系统变量中的path变量,不要删原来的变量值,在原值后面添加 ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools;%ANDROID_HOME%\platform-tools 注:这里是添加了jdk\bin、jdk\jre\bin、sdk\tools 、sdk\build-tools、sdk\platform-tools的路径,互相以英文分号隔开 8.创建项目: 命令行cd进入任何你喜欢的目录,ionic start AnyNameYouLike blank,如果一切顺利,就会在你指定的目录新建一个你喜欢的名字的文件夹,并在里面初始化一个ionic项目。 9.添加平台 进入刚才新建的项目的目录,命令行输入ionic platform add android 二、在项目目录中有一个www的文件夹,里面的文件有html,js,css等,可随意编写,在platform中的www文件最好不要动它。 三、测试项目 1.进入项目目录,ionic build android编译项目 2.测试项目的方法: 桌面浏览器测试法:ionic serve 模拟器测试法:这个比较烦,而且运行慢,略 手机浏览测试法:Testing your app自己看吧,略 手机测试法:连上数据线,打开开发者选项,执行ionic run android 四、编写项目 Building out your app英文太多,翻译不出来 五、发布app,前面的准备就是为了这一步了 1.执行cordova plugin rm cordova-plugin-console,这一步是Before we deploy, we should take care to adjust plugins needed ring development that should not be in proction mode. 2.执行 cordova build --release android,在platforms/android/build/outputs/apk,中会出现***-release-unsigned.apk,最前面取决于取了什么名字 3.使用keytool打包私有密钥:执行keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000 4.给没有签名的apk签名:执行jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name 5.最后一步,执行zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk 六、基本步骤到此结束,可能会出现各种报错的情况,只能具体问题具体分析了
2. 开发androidapp,你会用到哪些开源框架
1.Framework7来自iDangero.us—自版本1.0在一年前发布以来,Framework就一直是开发iOS应用程序的最佳选择之一。由于它提供对安卓的支持,如果你先从iOS入手,但随后构建具有类似iOS外观感觉的安卓版本,它也是个不错的选择。功能特性包括:MaterialDesign用户界面、原生滚动、1:1页面动画、自定义DOM库以及XHR缓存和预装入。3.jQueryMobile来自jQuery基金会—这种成熟的轻量级框架基于jQuery,缺少本文中介绍的大多数程序包具有的许多高级功能,不过它仍拥有一群庞大的忠实用户。虽然它提供了语义标记、渐进式改进、主题化设计和PhoneGap/Cordova支持之类的功能,但是在类似原生系统的功能和性能或者高级用户界面方面乏善可陈。另一方面,它又很简单,这意味着“编写一次,到处运行”是常常可以实现的目标;对于还需要在WindowsPhone和黑莓上运行的简单应用程序而言,它也是个不猜改错的选择。2.Ionic来自Ionic—这种流行的跨平台框架基于SassCSS扩展语言,使用起来相当容易,不过它还能集成用于构建更高级应用程序的AngularJS。Ionic提供了一个丰富的库,包括针对移动设备优化的HTML、CSS和JSCSS组件、手势及工具,可与预定义的组件协同工作。命令行接口提供了仿真器、实时重装和日志等功能。还有一个基于Cordova的应用程序包装器。4.KendoUI来自Telerik—这种基于jQuery的HTML5/Java框架既有开源版,又有商业版。对企业用户友好的KendoUI提供了种类丰富的用户界面窗口组件和插件。它最广为人知的地方就是拥有无数具有MaterialDesign风格的预构建主题,另外还有一个主题构建器,可用于构建自定义主题。其他功能特性包括:Angular和BootstrapUI集成以及性能优化。6.Native来自Telerik—顾名思义,Native专注于原生用户体验开发,但是它提供了跨安卓和iOS的跨平台代码共享支持。该软件使用现有的原生用户界面库,用户界面由Java、XML或视情况而定的Angular来描述。然而,使用起来,它不如Telerik更传统的跨平台KendoUI框架来得容易。5.MobileAngularUI来自MaurizioCasimirri—这个开穗兄判源项目将AngularJS和经过修改的推特Bootstrap合并到了一个移动用户界面框架。据说它保留了Bootstrap3的大部分语法,因而更容易实现从Web应用程序向移动应用程序的移植,同时增添了Bootstrap缺失的许多组件,比如切开关、覆盖、侧边栏、可滚动区域以及固定位置的导航条。库包括fastclick.js和overthrow.js。7.OnsenUI来自AsialCorp.—Onsen基于HTML和CSS而建,旨在与并非预先集成的PhoneGap和Cordova协同运行。它还可以与Angular和jQuery协同运行。顾名思义,该程序强调用户界面开发,并提供了一系列广泛的基于Web的用户界面组件和特性,比如表格的双列视图。(然而,仍然缺少MaterialDesign。)这个文档完备的程序针对这样的jQueryMobile用户:既需要易于使用,又想要更多的功能、更高的性能和更丰富的用户界面特性。总部位于东京的Asial正在开发一种拖放式GUI工具,该公司还开发和维护Monaca。9.SenchaTouch来自Sencha—Sencha的成熟的、面向企业的HTML5/Java框架既有开源版,又有商业版。Sencha建立于ExtJS的基础上,能够获得类似原生的性能。它为HTML5提供了可视化应用程序构建器,另外还提供了重复使用自定义组件的功能。原生包装器简化了分发到GooglePlay等应用程序商店的工作。8.ReactNative来自Facebook—ReactNative是一种开源框架,从Facebook的ReactJava框架派生而来,众所周知,Java框架取代了早些时候的HTML5基础。顾名思义,这个面向iOS的高端程序与其说是一种跨平台框架,还不如说是原生程序包装器,但是由于新增了对安卓的支持,它很适合我们的要求,因为你实际上尘早只要用Java编写一次代码,就能移植到这两个平台。目前,只有OSX桌面得到全面支持,不过也有试验性的Linux和Windows版本面向安卓开发。10.Titanium来自Appcelerator—不像那些比较偏向Web的框架,Titanium使用Java来构建原生代码,声称有望提升性能。这种基于Node.js的软件开发工具包(SDK)为iOS、安卓、Windows、黑莓和HTML5提供了5000多个API。Titanium更广为人知的地方是性能和丰富的功能特性,而不是易用性。软件是开源,不过只要你不发布你的应用程序,功能齐全的免费版可以免费享用,眼下你每月至少得支付39美元。
3. 如何使用ionic打包android的apk
ionic打包apk主要分为几个步骤:
1、安装Java的JDK,并配置好环境变量
2、安装AndroidSDK,并配置好环境变量;这里JDK和andriodSDK的安装和配置都很重要,必须安装好JDK和AndroidSDK,才可以进行下面的打包,否则是打不了包的。
3、下载安装nodejs,这里的nodejs主要是要来对打包所需模块进行管理
4、使用命令:npm install -g cordava ionic来安装cordova和ionic
5、切换到刚才nodejs的安装根目录下,使用命令:ionic start myApp blank创建一个项目,其中myAPP是项目的名称,可以由自己命名,blank表示创建一个空项目
6、切换到刚才创建的项目myApp目录下面,cd myApp
7、ionic platform add android //该命令会创建一个platform目录,最后生成的apk是放在该目录下的
8、ionic build android //生成apk文件,至于apk具体的存放目录,打包成功时会有说明
经过上面几步的操作,ionic打包apk便已完成。
4. ionic修改完代码用,需要在重新编译一下android吗
1、Tabs必须是预加载的,创建项目默认就是预加载,不用动。
2、访问的页面必须是懒加载页面,只有是懒加载页面访问时才会有具体的url页面锚点地址,刷新后页面才会停留在当前页面。
3、默认的三个主界面,刷新要停留在当前,需要改成懒加载方式(最简单的方法:删除已有预加载页面,使用ionic g page重新创建即为懒加载页面,别忘了删除app.mole中声明语句,页面访问时使用类名字符串。)
5. ionic添加ios平台时怎么修改图标
由于Ionic更新了命令行工具,以后修改应用图标和添加启动画面就简单了,最新方法见最下方:
应用图标:
1.在整个项目所在文件夹下创建res文件夹,里边再分别创建两个文件夹android和ios。
2.针对Android平台:将我们的要替换的启动图标放如android文件夹下。可以分别起名为:mdpi.png(48*48),hdpi(72*72)、xhdpi(96*96)、xxhdpi(144*144) 和 xxxhdpiI(192*192)。
针对ios的,待补充。
3.在config.xml中添加
<platform name="android">
<icon src="res/android/ldpi.png" density="ldpi" />
<icon src="res/android/mdpi.png" density="mdpi" />
<icon src="res/android/hdpi.png" density="hdpi" />
<icon src="res/android/xhdpi.png" density="xhdpi" />
</platform>
其中src中的图片路径就为整个项目的相对路径。
我这里偷了个懒,只搞了一个最高像素密度的应用图标(192px*192px)进去,安卓会自动进行压缩。
这里顺便说一下如果要修改应用的名称,只要修改name标签里的内容即可。
这样在命令行中重新运行ionic run android,就能看到应用图标和名字已经被替换了。
启动画面:
将启动画面的图片拷贝到之前的android文件夹下,splash-land-hdpi.png(640*480)splash-land-ldpi.png(426 × 320)splash-land-mdpi.png(470 × 320)splash-land-xhdpi.png(960 × 720)splash-port-hdpi.png(480*640)splash-port-ldpi.png(320*426)splash-port-mdpi.png(320*470)splash-port-xhdpi.png(720*960)
(名称可随意,只要和config.xml对应上即可)。
在config.xml中添加
<splash src="res/screen/android/splash-land-hdpi.png" density="land-hdpi"/>
<splash src="res/screen/android/splash-land-ldpi.png" density="land-ldpi"/>
<splash src="res/screen/android/splash-land-mdpi.png" density="land-mdpi"/>
<splash src="res/screen/android/splash-land-xhdpi.png" density="land-xhdpi"/>
<splash src="res/screen/android/splash-port-hdpi.png" density="port-hdpi"/>
<splash src="res/screen/android/splash-port-ldpi.png" density="port-ldpi"/>
<splash src="res/screen/android/splash-port-mdpi.png" density="port-mdpi"/>
<splash src="res/screen/android/splash-port-xhdpi.png" density="port-xhdpi"/>
<preference name="SplashScreen" value="screen"/>
<preference name="SplashScreenDelay" value="10000" />
其中10000单位为毫秒,即10秒后隐藏启动画面。如果不写第三句,默认3秒隐藏。
如下图所示:
我这里没有那么多分辨率下的图片,就随便找了一个稍大分辨率的,density也没写。它会自动将该图片拷贝到drawable文件夹。
这时候再重新运行程序,即可看到启动画面。
用以上的方法,启动画面的显示时长是固定的,很明显不太友好。
未完持续...
以上方法已经可以使用Ionic命令行工具来自动生成了,步骤如下:
1.在项目的根目录下创建resources文件夹。
2.在文件夹中都放入icon.png(应用图标,最小192x192px,不带圆角),splash.png(启动屏幕,最小2208x2208px,中间区域1200x1200px)(可以是png、psd、ai)
3.在cmd中进入项目所在文件夹执行:
ionic resources
执行该命令后,会自动在resources文件夹下创建已添加的平台名称的文件夹,如:android,其中会自动将图片进行缩放、裁剪,生成不同分辨率的图片,并在config.xml中添加相应内容。
也可分开执行:
ionic resources --icon
ionic resources --splash
注意:执行以上命令时需在线!