`
JerryWang_SAP
  • 浏览: 1030143 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

使用Cordova将您的前端JavaScript应用打包成手机原生应用

阅读更多

假设我用JavaScript和HTML开发了一个前端应用,我想把该应用打包成能直接在手机上安装和运行(不通过浏览器)的原生应用,例如像下面这样。对应用的用户来说,他们得到的用户体验和真正的用Android Studio或者XCode开发的原生应用完全一致。

这是怎么做到的?

答案是使用Apache的开源框架,Cordova。

 

以Android框架为例,Cordova能将您的前端应用里的JavaScript和HTML资源打包成Android原生的apk文件,可以直接在安卓手机上安装。运行时,这些JavaScript和HTML直接运行在Cordova提供的一个嵌入式的WebView控件里,对于手机用户来说,他们对此毫不知情,以为自己使用的是手机原生应用。

 

下面就跟着我一步一步来使用Cordova打包您的前端项目吧。

1. 在电脑上安装nodejs,把安装后的目录加入到Path环境变量中去。

 

2. 使用nodejs的包管理器npm安装Cordova。命令行:npm -g install cordova:

 

3. 创建一个新的文件夹,然后进入该文件夹,创建一个新的Cordova项目。命令行:

cordova create JerryUI5HelloWorld

 

于是一个新的Cordova项目被自动创建出来了。里面包含很多子文件夹。

 

Platforms文件夹是空的,因为此时我们尚未添加该Cordova项目支持的移动平台。

4. 假设我们想打包成一个可以安装到Android平台的应用,那么得为该Cordova项目添加对Android平台的支持。使用命令行添加:cordova platform add android

 

命令行执行完毕后,我们敬如platforms文件夹,发现多了一个android文件夹,里面多出很多文件夹和资源。这些自动生成的东西都是最后打包生成安卓应用APK文件所必须的。

 

如果一切正常,我们会得到下面的目录结果。

 

5. www文件夹下有个自动生成的index.html文件。我们用命令行cordova prepare, 这个index.html会自动被拷贝到文件夹platformsandroidassetswww下面。这揭示了Cordova使用的一个最佳实践:我们所有的前端开发,都是直接在Cordova项目文件根目录的www文件夹内进行。开发结束后,使用cordova prepare,根目录的www文件夹里的资源会自动被拷贝到该项目支持的移动平台对应的文件夹内,在我的例子里是platformsandroidassetswww。

 

一切就绪了。现在使用命令行cordova compile进行打包,安卓应用的APK文件就生成在文件夹platforms/android/build/output/apk里了。

 

注意cordova compile这个命令需要您本地安装Gradle,如果安装,会遇到下列错误消息:

Error: Could not find an installed version of Gradle either in Android Studio, or on your system to install the gradle wrapper. Please include gradle in your path, or install Android Studio。

 

我没有选择安装庞大的Android Studio,而是下载了gradle的二进制版本,将其加入到Path环境变量中即可。

 

将APK安装到您的手机上,执行,您会看到下列这个默认的界面。这其实是Cordova项目创建后生成的缺省的index.html打包安装到手机后运行的效果。

 

剩下的事情就很容易了,把您的前端应用的所有资源全部拷贝到Cordova项目文件根目录下的www文件夹里,然后执行cordova prepare, 将这些资源自动同步到文件夹platformsandroidassetswww下面,再次执行命令行cordova compile重新生成APK文件即可。

如果没有Android手机,也可以用Android Studio里提供的模拟器来测试。

在Android Virtual Device Manager里创建一个新的虚拟设备:

 

然后使用命令行将cordova compile生成的APK文件安装到模拟器上:

adb install j.apk

 

现在就能在Android模拟器里使用您的前端应用通过Cordova打包生成的应用了。

 
 

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

 

 
 
0
0
分享到:
评论

相关推荐

    Vue.js+Cordova开发H5混合应用(以Android为例,附说明文档和工程)

    Cordova通过包装HTML、CSS和JavaScript代码为一个原生应用,利用WebView在手机上运行。开发者只需要编写一次代码,就可以通过Cordova的插件系统访问到设备的硬件功能,如摄像头、GPS、蓝牙等。Cordova主要工作流程是...

    sencha-touch + cordova(PhoneGap)使用adt-eclipse打包实例

    Cordova(PhoneGap)则是一个开源框架,它允许开发者使用Web技术(HTML、CSS和JavaScript)来构建原生的移动应用程序,并通过插件接口与设备的硬件功能进行交互。 本实例将详细介绍如何结合这两个工具,利用ADT-...

    cordova打包加密

    通过Web技术开发的应用,可以通过Cordova打包成iOS、Android等平台的原生应用。 2. **加密的必要性**:在Cordova应用中,源代码是以文本形式存在,可以通过反编译工具轻易查看。这可能导致知识产权泄露、恶意篡改...

    前端开源库-cordova-uglify

    `Cordova`是一个开源的移动应用开发框架,它允许开发者使用Web技术(HTML、CSS、JavaScript)来构建原生的移动应用。`Cordova`通过封装设备API,使得开发者能够访问手机的各种功能,如摄像头、地理位置等,而无需...

    前端项目-ng-cordova.zip

    通过Cordova,开发者可以将这个基于AngularJS的应用打包成iOS、Android或Windows Phone等不同平台的原生应用,实现了Web应用与移动设备硬件的深度交互,例如访问设备的摄像头、GPS、加速度计等。 在项目中,ng-...

    cordova,ionic 例程

    Cordova主要负责将Web应用程序打包成原生应用,而Ionic则提供了丰富的UI组件和工具,用于构建具有现代感的移动应用界面。 **Cordova** Cordova是由Apache软件基金会开发的一款开源移动应用开发框架,它允许开发者...

    cordova-mint-源码.rar

    分析 `build` 脚本或相关命令行工具,我们可以理解 Cordova 如何将 Web 应用打包成原生应用,包括资源的复制、配置的处理、插件的编译和打包等步骤。 7. **调试与性能优化** 源码分析可以帮助我们找到性能瓶颈,...

    cordova移动开发简单demo.zip

    通过Cordova,你可以将你的Web应用封装在原生的移动应用壳中,使得你的应用能够访问手机的各种硬件功能,如相机、地理位置、加速度计等。 2. **Cordova项目结构** “DemoWebApp-master”文件夹中包含了一个典型的...

    Vue仿网易云音乐移动版可通过cordova直接打包成apk

    为了将这个Vue应用打包成Android APK,项目使用了Cordova。Cordova是一个开源的移动开发框架,它允许使用Web技术(HTML、CSS、JavaScript)来开发原生移动应用。Cordova通过WebView将Web应用包装在原生应用壳中,使...

    cordova 用户验证示例

    1. **AngularJS**:一个前端JavaScript框架,提供数据绑定、依赖注入、指令等特性,用于构建动态Web应用。 2. **Cordova**:一个跨平台的移动应用开发框架,使用Web技术构建原生应用。 3. **用户验证**:这是应用中...

    vue+cordova+mui制作的移动app

    在本项目中,开发者使用Vue.js作为前端框架来构建应用的业务逻辑和用户界面,利用Cordova将其打包为原生移动应用,使其可以在Android和iOS设备上运行。同时,Mint UI或Vuetify被用于提供美观的Material Design风格的...

    cordova-ios-3.7

    8. **调试技术**:由于 Cordova 应用混合了原生和 Web 技术,开发者可能需要使用 Safari 的 Web Inspector 或其他第三方工具来调试 JavaScript 代码,同时使用 Xcode 的调试工具来检查原生部分。 9. **性能优化**:...

    基于bootstrap+Cordova实现的列车管理系统响应式前端布局项目源码毕业设计

    在本项目中,Cordova可能被用来将基于Bootstrap的Web页面打包成Android或iOS的应用,让用户能够在手机或平板上流畅地使用列车管理系统的前端界面。Cordova还提供了访问设备API的能力,如相机、地理位置、通知等,...

    phonegap/cordova 案例android版本

    一旦准备好,"cordova run android"命令会编译项目、生成APK,然后将应用部署到连接的Android设备或模拟器上。这个过程包含了编译、签名和安装步骤,使得开发者可以快速迭代和测试应用。 在“phonegap开发案例”这...

    Cordova入门基础

    Cordova通过一个特殊的容器来封装HTML、CSS和JavaScript代码,从而将这些前端技术转换成可以在iOS、Android、Windows等不同操作系统上运行的原生应用程序。这种封装过程使得开发者可以利用自己熟悉的技术栈来构建...

    electron-cordova-react电子科尔多瓦反应

    Cordova 将 Web 应用程序包装在原生的移动应用壳中,使其可以访问设备的功能,如相机、地理位置等。通过 Cordova,开发者可以使用一套代码在多个平台上发布应用,包括 iOS、Android 和其他操作系统。 **React** ...

    swift-腾讯财付通移动QQ支付Cordova-plugin-qpay

    通过Cordova,开发者可以将Web应用打包为各种平台的原生应用,并利用平台特定的功能,如摄像头、GPS等。而"cordova-plugin-qpay"正是这样一个插件,它将QQ支付的SDK封装起来,使得基于Cordova的项目也能轻松接入QQ...

    Cordova 3.x 基础(10) -- UI框架Ionic Framework

    6. **打包与部署**:说明如何通过Cordova命令将应用打包成原生的iOS或Android应用,并进行真机测试和发布。 7. **调试与优化**:分享了一些调试技巧,以及如何优化应用性能,使其在不同设备上运行流畅。 虽然没有...

    Cordova6.1、ionic、android交互自定义插件

    Cordova是一个开源的移动开发框架,它将Web应用打包成可安装的移动应用,通过WebView在各个平台上运行。而Ionic则是一个基于AngularJS的前端框架,专注于UI交互和组件设计,为移动应用提供了丰富的UI样式和功能。 ...

Global site tag (gtag.js) - Google Analytics