前言

Apache Cordova是一个开源的移动开发框架。允许使用标准的web技术-HTML5,CSS3和JavaScript做跨平台开发。 应用在每个平台的具体执行被封装了起来,并依靠符合标准的API绑定去访问每个设备的功能,比如说:传感器、数据、网络状态等。

使用Apache Cordova的人群:

1.移动应用开发者,想扩展一个应用的使用平台,而不通过每个平台的语言和工具集重新实现。

2.web开发者,想包装部署自己的web App将其分发到各个应用商店门户。

3.移动应用开发者,有兴趣混合原生应用组建和一个WebView(一个特别的浏览器窗口) 可以接触设备A级PI,或者你想开发一个原生和WebView组件之间的插件接口。

—— 摘自《Cordova官网》

Cordova虽然可以用来开发APP,但cordova并不能把H5代码变成IOS或者Android的原生代码。cordova只是将我们的Html文件通过相应的API,显示在HTML Rendering Engine(即WebView)中,同时 Cordova支持丰富的插件,这些插件提供了Cordova和原生组件相互通信的接口并绑定到了标准的设备API上。这就使开发者可以通过JS去调用原生代码,比如:照相机、联系人、热更新和打开第三方APP应用等。

接下来,本文会一步步的介绍如何使用Cordova开发我们的第一个APP应用(本文主要介绍Android平台应用,IOS平台不做介绍)!

使用Cordova的基本要求

1.首先要会基本的HTML + CSS + JS(否则的话你开发个毛线的app)

2.不需要太高深的android开发经验,但起码的开发流程要了解

3.需要自行搭建Android开发环境:比如SDK

4.需要下载安装Node(自行百度)

5.需要安装Cordova(npm install -g cordova)

创建APP

# cordova create

cordova create cordova-study com.zyd.cordova

复制代码

创建完成后的文件夹目录结构:

hooks:存放自定义cordova命令的脚本文件。每个project命令都可以定义before和after的Hook,比如:before_build、after_build

platforms:平台目录,各自的平台代码就放在这里,可以放一下平台专属的代码

plugins:Cordova插件目录,安装的插件会放在这里,cordova提供的原生API也是以插件的形式提供的

www:源代码目录。在cordova prepare的时候会被copy到各个平台工程的assets\www目录中

config.xml:主要是cordova的一些配置,比如:项目使用了哪些插件、应用图标icon和启动页面

添加Android开发平台

xx\cordova-study\platforms>cordova platform add android

Using cordova-fetch for cordova-android@~7.0.0

Adding android project...

Creating Cordova project for the Android platform:

Path: platforms\android

Package: com.zyd.cordova

Name: HelloCordova

Activity: MainActivity

Android target: android-26

Subproject Path: CordovaLib

Subproject Path: app

Android project created with cordova-android@7.0.0

Android Studio project detected

Android Studio project detected

Discovered plugin "cordova-plugin-whitelist" in config.xml. Adding it to the project

Installing "cordova-plugin-whitelist" for android

This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous platform version

, you do *not* need this plugin since the whitelist will be built in.

Adding cordova-plugin-whitelist to package.json

Saved plugin info for "cordova-plugin-whitelist" to config.xml

--save flag or autosave detected

Saving android@~7.0.0 into config.xml file ...

复制代码

注:cordova在添加平台时,已自动安装了一个白名单(cordova-plugin-whitelist)插件

导入Android Studio

File --> Open --> 选择platforms-android下的build.gradle,确定

等待IDE自动构建...

构建完成后的目录结构如下:(我已切换到Android视图模式,图中箭头位置)

目录内容解释:

AndroidManifest.xml:Android应用的入口文件,负责配置applaction和activity等

java:Java文件,当前主要为Cordova项目默认的启动类(一般不需要关心,除非涉及到使用原生代码开发功能)

assets:资源文件(H5应用的html、js、css等文件),需要注意的是,www中的cordova开头的文件或文件夹(如果使用到了自定义插件,会有个plugins文件目录),切记不可删除!切记不可删除!切记不可删除!

res:app的配置:启动图标、应用图标、应用名称等。注意:xml中的config.xml是app打包用的配置文件,可配置如:启动主页面、权限、白名单等

使用cordova打包APP

xx\platforms\android>cordova build android

Android Studio project detected

ANDROID_HOME=F:\AndroidSDK

JAVA_HOME=D:\server\Java\jdk1.8\jdk1.8.151

studio

Subproject Path: CordovaLib

Subproject Path: app

Starting a Gradle Daemon, 1 busy and 1 incompatible and 1 stopped Daemons could not be reused, use --status for details

publishNonDefault is deprecated and has no effect anymore. All variants are now published.

The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.

at build_dm9mufthcbtehnxb8j3px6xr.run(xx\platforms\android\app\build.gradle:143)

:CordovaLib:preBuild UP-TO-DATE

中间省略......

:app:cdvBuildDebug

BUILD SUCCESSFUL in 1m 1s

47 actionable tasks: 47 executed

Built the following apk(s):

xx\platforms\android\app\build\outputs\apk\debug\app-debug.apk

复制代码

提示BUILD SUCCESSFUL则表示打包完成,根据指定路径,获取apk后安装即可。

常用的命令:

cordova install android //将编译好的应用程序安装到模拟器上。

cordova emulate android //在模拟器上运行(前提是创建好AVD)

cordova serve android //在浏览器运行

cordova build android //打包cordova项目到android平台。

cordova run android //通过USB直接安装到真机(该语句已经包括了build命令)

复制代码

使用AndroidStudio打包APP

参考资料

1.Cordova入门系列(一)创建项目

2.Cordova之如何用命令行创建一个项目(完整示例)

3.Cordova中文文档

源码地址

1.我的github

2.我的码云

欢迎关注,欢迎Star。当然,如果你直接下载了源码并不star,我也没办法(手动滑稽o(╯╰)o)。

(编辑:雷林鹏 来源:网络)

java安卓app开发教程_[Android教程] Cordova开发App入门(一)创建android项目相关推荐

  1. python在线搭建教程_理解python web开发,轻松搭建web app!

    大家好,今天分享给大家的是理解python web开发,轻松搭建web app,希望大家学有所获! 因为 python代码的优雅美观且易于维护这一特点,越来越多的人选择使用 Python做web开发. ...

  2. java微信公众号开发教程_微信公众平台开发教程(java版本含代码) 中文PDF版 3.13MB...

    本文档将对即将推出的微信公众帐号开发系列连载教程做简单的说明. 教程主要是面向有一定 Java 编程基础的朋友, 目录: 微信公众帐号开发教程第 1 篇-引言  2 微信公众帐号开发教程第 2 篇-微 ...

  3. shopify二次开发教程_详细教程:如何将Shopify的Storefront API与React和Redux结合使用...

    shopify二次开发教程 by Chris Frewin 克里斯·弗里温(Chris Frewin) 详细教程:如何将Shopify的Storefront API与React和Redux结合使用 ( ...

  4. Windows 10开发教程_编程入门自学教程_菜鸟教程-免费教程分享

    教程简介 Windows 10开发入门教程 - 从简单的步骤了解Windows 10开发,从基本到高级概念,包括简介,UWP,第一个应用程序,商店,XAML控件,数据绑定,XAML性能,自适应设计,自 ...

  5. 苹果4s怎么越狱教程_苹果手机越狱状态简单APP多开教程

    本教程只适用越狱设备 教程需要的用到以下插件 1.AppsManager 应用数据管理 2.Filza文件管理器 3.Respring 快速注销+联网修复 打开百度App,看更多图片 以上插件均可在D ...

  6. iphone退款申请教程_如何下载下架的APP?买错应用怎么退款?学会这几招iPhone更好用...

    更多玩机技巧,快关注"差评" 经常有差友会留言问世超:一不小心手贱错买了 App 如何申请退款? 以前差友们推荐的流程非常复杂,需要去苹果的官网填写表格以及拨打退款电话. 而 Ap ...

  7. apicloud菜鸟教程_干货教程 | APICloud新手学习心得分享

    最近很多爱学习的开发者,在后台给柚子君留言询问:如何在APICloud平台创建app?如何添加模块?自定义loader编译好之后在studio里面怎么同步等问题. 柚子君就借此机会给大家分享一个对 j ...

  8. Ruby教程_编程入门自学教程_菜鸟教程-免费教程分享

    教程简介 Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License.它的灵 ...

  9. WCF教程_编程入门自学教程_菜鸟教程-免费教程分享

    教程简介 Windows通讯开发平台(Windows Communication Foundation,简称WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows通讯开发平台 ...

  10. java抖音字符视频_抖音上很火的字符画 Android 实现 | 视频转换实现

    最后像国际象棋格子一样,一块一块的替换掉,由于计算相对比较复杂,所以耗时比较长,因此当时那个demo也让我搁置了. 最近看到这篇日推,不由得眼前一亮,因为很少有人在android端做这种东西,因为算法 ...

最新文章

  1. 一束激光冒充人声:110米外黑掉智能音箱,手机电脑平板也中招
  2. 当对项目强名时自动构建失败(TeamFoudationServer试用笔记)
  3. cocos2dx游戏开发——微信打飞机学习笔记(五)——BackgroundLayer的搭建
  4. java 性能测试文档模板_Java中IO字节流基本操作(复制文件)并测试性能
  5. vsCode切换分支git
  6. 关于审核被拒申诉那点事
  7. vray5.1 for sketchup 安装教程
  8. C# JPG转PDF
  9. Windows任务栏实现动态自动隐藏并透明
  10. 数据安全:Mock数据
  11. 我不建议大家随便跳槽
  12. 计算每年的母亲节日期-C语言代码
  13. 互联网人群画像和你所不知道的真相
  14. Channel 通道详解
  15. BZOJ1006神奇的国度
  16. ESP32 入门笔记05: BLE 蓝牙客户端和服务器 (ESP32 for Arduino IDE)
  17. 关于P2P资金托管的知识
  18. 3ds max 结合透视匹配重构高变形的场景
  19. Redis 实战篇:GEO 助我邂逅附近女神
  20. nextcloud+宝塔在阿里云服务器上搭建个人云存储盘(如何在服务器上搭建个人云盘)

热门文章

  1. 论文超详细精读|五千字:STGR
  2. IDC:未来中国MES市场仍将快速发展分化
  3. 小萝莉偷菜机器人(QQ农场辅助程序)0.3F4 新年版 -2010年1月17日更新
  4. 曙光服务器如何重新设置u盘启动_在中科曙光I620-G20服务器上安装Windows 2008 R2 系统步骤...
  5. TVS管好,还是稳压二极管好?
  6. PT100转RS485热电阻Modbus低成本数据采集模块
  7. javaweb课程设计景点门票销售系统
  8. 数据可视化设计师必备的图表规范指南
  9. 如何快速学习一个开源框架
  10. 一位华裔复活了美国奥数国家队:掌舵 6 年 4 次夺冠,打破中国队“垄断”