官方文档:

Create your first Cordova app

Android Platform Guide


安装 JDK 和 Android SDK

注意:

需要将 JK 和 Android SDK 所在目录添加到环境变量中,分别命名为 JAVA_HOMEANDROID_HOME,否则编译时 Cordova 报错。

安装 Cordova

因为 Cordova 命令行工具是作为一个 npm 包来分发的,因此需要预先安装 Node.js ,并且能够调用 nodenpm命令 。

假设已经安装好 Node.js 以及 npm,利用 npm 工具能自动下载 Cordova 模块。

  • Windows 下:
C:\>npm install -g cordova
  • on OS X and Linux:
$ sudo npm install -g cordova

创建App

切换到你的源代码目录,创建一个 Cordova 项目:

$ cordova create hello com.example.hello HelloWorld

这将会创建 Cordova app 需要的文件夹结构,默认情况, cordova create 脚本会生成一个基于Web应用的骨架,主页是项目下 www/Index.html 文件。

添加平台

以下所有命令都需要在项目目录下运行,或任意的子目录:

$ cd hello

添加你的app的目标平台,这里我们会添加 'ios' 和 'android' 平台,并且确保他们被保存到 config.xml

$ cordova platform add ios --save
$ cordova platform add android --save

检查当前的平台集:

$ cordova platform ls

我的环境执行结果如下:

检查必备的构建工具

> cordova requirements

可能会出现如下错误信息:



意思是没有找到 Android SDK。 如果没有安装在默认位置(一般在 C:\Program Files(x86)\Android\SDK),并且没有配置正确的环境变量,就会提示这样的错误。

打开环境变量窗口,根据提示在“用户变量”里添加一项变量,变量名为“ANDROID_HOME”,值为 Android SDK 安装目录:



点击“确定”保存,然后重启CMD,切换目录到 Cordova 项目,再次执行命令,可以看到不再有警告和错误提示:

检查结果:

JDK:已安装

Android SDK:已安装

Anroid 目标平台: 已安装 android-19,....

Gradle:已安装

编译项目

任何初始化工作都要写在 www/js/index.jsdeviceready 事件处理程序中。

运行以下命令将项目构建所有的平台:

$ cordova build

你可以限定构建的平台范围,这里以 -''android' 为例:

$ cordova build android

在构建过程中我遇到如下错误:

Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the user guide chapter on the daemon at http://gradle.org/docs/1.8/userguide/gradle_daemon.html
Please read below process output to find out more:
---------------------------------------------------
Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap

Google 后查到,需要在环境变量中添加一个变量:

_JAVA_OPTIONS : -Xmx512M

参考: StackOverFlow

再次编译:

BUILD SUCCESSFUL

Total time: 1 mins 45.002 secs
Built the following apk(s):
D:/CordovaDemo/hello/platforms/android/build/outputs/apk/android-debug.apk

编译成功,并输出apk文件。

Cordova - Windows 下创建第一个 Android App的更多相关文章

  1. Windows下部署Appium教程(Android App自动化测试框架搭建)

    摘要: 1,appium是开源的移动端自动化测试框架: 2,appium可以测试原生的.混合的.以及移动端的web项目: 3,appium可以测试ios.android.firefox os: 4,a ...

  2. NodeJS笔记(五) 使用React Native 创建第一个 Android APP

    参考:原文地址 几个月前官方推出了快速创建工具包,由于对React Native不熟悉这里直接使用这2个工具包进行创建 1. create-react-native-app(下文简称CRNA): 2. ...

  3. windows下创建做一个类似与linux 的SFTP

    在项目中经常需要做通过ftp上传文件到ftp上,如果服务器是windows版的服务器又该如何做呢,下面就给大家介绍一个软件:freeSSHd 软件地址    http://www.freesshd.c ...

  4. VS2015下的Android开发系列02——用VS开发第一个Android APP

    配置Android模拟器 这算是第一篇漏下说的,配置好VS的各参数,新建Android项目后,会发现菜单下的工具栏会多出Android相关的工具栏,红色圈出的就是AVD. 打开AVD后可以从模版处选一 ...

  5. ❤️【Android精进之路-03】创建第一个Android应用程序竟然如此简单❤️

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文会重点介绍如何创建第一个Android应用,以及如何使用Android Studio进行调试 干货满满,建议收藏,需要用到时常看看.小伙伴们如 ...

  6. 创建第一个Android项目

    目录 创建第一个Android项目 创建HelloWorld项目 选择模板 选择模板界面的英文翻译 配置项目 配置项目界面英文翻译及解释 配置项目界面的注意事项 Name的命名规范 Package n ...

  7. react-native —— 在Windows下搭建React Native Android开发环境

    在Windows下搭建React Native Android开发环境 前段时间在开发者头条收藏了 @天地之灵_邓鋆 分享的<在Windows下搭建React Native Android开发环 ...

  8. 3.创建第一个android项目

    安卓开发学习笔记 1.安卓开发之环境搭建 2.SDK目录结构和adb工具及命令介绍 3.创建第一个android项目 1.打开Eclipse,选择File——>new——>others.. ...

  9. windows下创建Python虚拟环境

    windows下创建Python虚拟环境 说明 由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题. 通过 virtualenv ...

随机推荐

  1. windows中执行celery beat任务

    由于最新的celery4.2不支持windows系统,因此按照网上的建议安装了3.1.25版.按照官网的说明使用 app.conf.beat_schedule = { 'add-every-30-se ...

  2. Python多进程并发操作进程池Pool

    目录: multiprocessing模块 Pool类 apply apply_async map close terminate join 进程实例 multiprocessing模块 如果你打算编 ...

  3. 2018.11.01 bzoj4325: NOIP2015 斗地主(贪心+搜索)

    传送门 原来一直以为是一道大模拟. 没想到是一道搜索+最优性剪枝 如何搜最优呢? 我们考虑怎么最快出完. 大概是应该尽量出当前能出出去最多的吧. 于是我们选择优先出顺子. 这样做有什么好处呢? 我们会 ...

  4. 第14章:MongoDB-聚合操作--聚合管道

    ① 聚合管道是MongoDB2.2版本引入的新功能.它由阶段(Stage)组成,文档在一个阶段处理完毕后,聚合管道会把处理结果传到下一个阶段. 每个阶段用阶段操作符(Stage Operators)定 ...

  5. 第09章:MongoDB-CRUD操作--文档--修改--update

    ①语法 db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boole ...

  6. SGU 271 Book Pile (双端队列)

    题意:n,m,k,表示有一个长度为 n 的序列,有 m 个操作,操作有 2 种,第一种是 ADD 在前面添加一个串,第二种是把前 k 个进行翻转,问你最后的序列是什么样的. 析:很明显,如果直接模拟, ...

  7. ZOJ 2132 The Most Frequent Number (贪心)

    题意:给定一个序列,里面有一个数字出现了超过 n / 2,问你是哪个数字,但是内存只有 1 M. 析:首先不能开数组,其实也是可以的了,后台数据没有那么大,每次申请内存就可以过了.正解应该是贪心,模拟 ...

  8. celery 4.1下报kombu.exceptions.EncodeError: Object of type 'bytes' is not JSON serializable 处理方式

    #python代码如下 from celery import Celeryimport subprocess app = Celery('tasks', broker='redis://localho ...

  9. i2c设备驱动注册

      Linux I2C设备驱动编写(二) 原创 2014年03月16日 23:26:50   在(一)中简述了Linux I2C子系统的三个主要成员i2c_adapter.i2c_driver.i2c ...

  10. doc.getElementById(id); null

    Open Declaration Element org.w3c.dom.Document.getElementById(String elementId) Returns the Element t ...