公司没有IOS和没有安卓开发人员,前端后端都是需要自己玩前几天技术经理说有一个需求要把webapp封装成Hybrid App,现已完成。记录一下从中遇到的问题和需要用到的开发环境的配置

将Webapp封装成Hybrid App有如下步骤

1.下载安装1.8的JDK,并且配置环境变量        (注意:最新版本的cordova,必须要下载1.8的JDK不然会报错)

2.下载安装Ant构建工具并且配置环境变量      (注意:Ant目录不能是中文,不然编译不成功)

3.下载安装android并且配置开发环境

4.下载安装Node.js

5.使用npm安装cordova全局环境

6.使用cordova创建cordova项目

7.将cordova编译为android项目

8.安装.apk文件

9.Eclipse安装ant插件

10.导入创建好的android项目

11.下载安装连接第三方模拟器 (注意:这里舍弃了自带的android模拟器使用第三方的,因为android自带的模拟器半天才打开,又不支持window系统下载x86)

以下是百度云的链接,打包所需要的所有工具、插件、安装包都在里面

链接:http://pan.baidu.com/s/1mhQYD0s 密码:7x16

1.JDK的配置环境如下:

在环境变量新建系统变量 变量名:JAVA_HOME  变量值为:安装路径的根目录即可(C:\Program Files\Java\jdk1.8.0_111)

2.安装Ant构建工具如下:

1.  新建系统变量   变量名:ANT_HOME  变量值为:安装路径的根目录即可(D:\phonegap\apache-ant-1.9.8) 把bin目录的路径添加到path里面

添加到path的截图如下:

完成以上两点之后打开cmd输入  java -version 和 ant -version 出现以下如则安装成功,否则请检查配置的环境变量路径

3.安装android开发环境配置如下:

解压后的目录是如下图:

1.将SDK目录下的:platform-tools、tools添加到环境变量的path里面去

2.安装完成后cmd运行adb 如图则安装成功,

4.下载安装Node.js

下载下来的包含有Node.js安装包直接安装即可,无需配置环境

5.使用npm安装cordova全局环境

1.运行cmd

2..输入此命令:  npm install -g cordova   回车        这里需要等待一段时间        如以下图说明安装成功    因为我已经安装过了

可运行cordova -v 查看是否安装成功,如图示 6.4.0版本的cordova 如图

6.使用cordova创建cordova项目

1.切换到任意路径 输入命令:cordova create myapp    回车

2.进入项目输入命令:  cd myapp   回车

7.将cordova编译为android项目              (注意:如何报android-24的错误,请在添加平台时修改两个文件

1. D:\phonegap\myapp\platforms\android目录下的project.properties文件将24改成25

2. D:\phonegap\myapp\platforms\android\CordovaLib目录下的project.properties文件将24改成25即可)

1.添加安卓平台输入命令:cordova platform add android    回车

添加成功如下:

检查环境是否配置好:输入命令: cordova requirements          回车        出现以下则OK

8.安装.apk文件

如果以上都完成了就开始构建安卓.apk

输入命令: cordova build android   回车   如下图则构建成功

此时此刻你的D:\phonegap\myapp\platforms\android\build\outputs\apk  有一个apk的文件  到了这里ok说明你已经成功了

现在的目录结构为:

现在将webapp移动端项目copy到www目录下,将原先的文件删掉,如图   主程序入口在config.xml配置(后缀不能是.jsp)

(注意:所以的请求必须是绝对路径)

9.Eclipse安装ant插件

打开Eclipse--->Help--->Install New Software---出现以下

Ant插件安装成功后重启Eclipse ----->添加SDK所在的目录

10.导入创建好的android项目

File--->New--->project-->

选择上面创建好的安卓项目   勾选两个就行了    CordovaLib、MainActivity

11.下载安装连接第三方模拟器

先下载安装第三方模拟器(注意:模拟器要打开才能连接成功)

下载安装完成后运行cmd 连接第三方模拟器  输入命令   adb connect 127.0.0.1:26944  回车   ---》26944是第三方模拟器的端口号

此时进入Eclipse---》Window---Show View-->Devices则出现以下图

运行MainActivity---》Run As---》Android-Application  出现如下界面   选择第三方模拟器  OK

模拟器出现如下图则运行成功OK

将apk安装包发送到手机进行安装如下效果:

希望对大家有帮助

有问题可以加QQ交流---969351680

使用Cordova框架把Webapp封装成Hybrid App实践——Android篇的更多相关文章

  1. 关于把本地应用封装成windows app发布审核通不过的问题

    把传统的b/s系统,简单改版,做成了一个比较适合于领导查询的系统,并开发了一个app程序封装了webview直接导向该程序,无需登陆直接访问:结果在提交app的时候审核通不过,问题是安全审核失败: 大 ...

  2. 将网页封装成苹果APP的牛逼方法,无需发布到appstore,无需越狱即可安装

    很多小伙伴都在开发自己的app, 有的实现实现比较简单,就是一个h5页面,然后想要打包成app发布出去. 这个想法很单纯 打包生成个app这个是很简单的,网上一堆打包工具,分分钟可以完成 但是... ...

  3. Hybrid App适配Android注意点

    近期把做好的ipad HTML5混合应用适配到android上,发现android的webview比 iPad差太多了,android4.4因为升级到chromium.和chrome内核一致,全部问题 ...

  4. Hybrid App开发者一定不要错过的框架和工具///////////z

    ionicFramework 我是hybrid app的忠实粉丝和大力倡导者,从 新浪移动云开始就不断的寻找能帮助Web程序员开发出漂亮又好用的UI层框架.在历经了jqmobile.sencha to ...

  5. Hybrid App开发者一定不要错过的框架和工具

    最近开始给网站的移动版本做技术选型,发现了很多好玩的东西,写出来给大家分享下. ionicFramework 我是hybrid app的忠实粉丝和大力倡导者,从 新浪移动云开始就不断的寻找能帮助Web ...

  6. native app、web app、hybrid app、react-native 区别

    Native App:指的是原生应用程序,一般依托于操作系统,有很强的交互. 技术:Objective-C Java Native App开发的优点 提供最佳的 户体验 拥有系统级别的通知或提醒 可以 ...

  7. cordova 一个将web应用程序封装成app的框架

    cordova的详细介绍请参考这个链接:http://www.zhoujingen.cn/blog/7034.html 我接下来主要将如何搭建. 1.首先你需要下载几样东西 1.jdk. 2.andr ...

  8. hybrid App cordova打包webapp PhoneGap

    Hybrid APP基础篇(一)->什么是Hybrid App APP三种开发模式--之--HybridApp解决方案 Hybrid App开发 四大主流平台分析 Hybrid App 开发模式 ...

  9. 为什么要用Hibernate框架? 把SessionFactory,Session,Transcational封装成包含crud的工具类并且处理了事务,那不是用不着spring了?

    既然用Hibernate框架访问管理持久层,那为何又提到用Spring来管理以及整合Hibernate呢?把SessionFactory,Session,Transcational封装成包含crud的 ...

随机推荐

  1. (转)PHP正则表达式的快速学习方法

    1.入门简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.我们可以在几乎所有的基于UNIX系统的工具中找到正则表达式的身影,例如,vi编辑器,Perl或PHP脚本语言,以及awk或 ...

  2. 【javascript模式】Chapter2: 基本 技巧

    1 尽量少用全局变量,最好一个应用程式只有一个全局变量  隐含全局变量(不使用var声明)与明确定义的全局变量区别:  (1)使用var创建的全局变量(在函数外部声明)不能用delete删除  (2) ...

  3. oracle中使用minus进行数据排除(类似SqlServer except函数)

    minus这个集合操作符号的作用是从一个结果集合中减掉另一个结果集中数据,也就是说从一个结果集中去除两个结果集中的共有部分. 下面是一些例子: 这个例子使用minus从第一个结果集中将两个结果集的公有 ...

  4. 访问的是A网址,但是跳转B网址的内容,地址栏还是A网址

    最近家里宽带续费,是用小区小广告的宽带,打开http://download.csdn.net/ 或其他一些设计下载.购物商城或威客网址进不去 提示 经过网上大量搜索和请教,都说是以下几点引起的 1.网 ...

  5. (转)C#Interface简介

    接口:描述可属于任何类或结构的一组相关功能,通过interface关键字来声明:接口只包含方法.委托或事件和属性的签名(接口包含的成员).不能包含字段(因为字段是包含数据的).方法的实现是“继承”接口 ...

  6. META http-equiv 大全

    META http-equiv 大全 HTTP-EQUIV类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确地显示网页内容.常用的HTTP-EQUIV类型有: 1.Content ...

  7. Activiti 工作流得到最后一次批注的时间

    我们有时候在工作流开发中可能会遇到这样的需求,就是已经审批结束的流程,可能我们还是仍然需要修改业务表的结果,而且我们需要一个时间期限,比如:在5天内可以进行修改 ,这个时候我们就需要得到我们最后一步审 ...

  8. Spring4.0学习笔记(12) —— JDBCTemplate 操作数据库

    整体配置 1.配置xml文件 <beans:beans xmlns="http://www.springframework.org/schema/mvc" xmlns:xsi ...

  9. 9 Palindrome Number(判断是否为回文数Easy)

    题目意思:判断是否为回文数,不许使用额外空间 ps:一直不理解额外空间的意思,int能用吗 思路:1.比较头尾 2.翻转,越界问题需考虑 class Solution { public: bool i ...

  10. window.showModalDialog以及window.open用法简介

    .可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象.例如:------------------------------parent.htm<script& ...