手记

cordova第一个项目遇到的一些问题以及解决方式

最近打算学习cordova,然后按照cordova官网教程一步一步运行之后发现并不能成功.在这里我将自己遇到的问题以及解决办法记录下来,一个是方便自己以后复习,二个是希望能够帮助到遇到同样问题的同学们. 由于我使用的是windows 10,所以以下均为windows系统下的一下操作.

首先,先上一个cordova中文官网的地址cordova中文网.在这里我还要说一句,想要开发app,访问国外网站是必不可少的,后续的步骤以及解决办法大部分需要能够访问国外网站.工具的话我使用的是LD,你也可以选择自行搭建.
然后就是按照创建你的第一个App指南来一步一步学习了.

安装Cordova CLI
C:>npm install -g cordova

这一步基本没有问题,自行安装就好.

创建App
$ cordova create hello com.example.hello HelloWorld

这一步也没问题.

添加平台
$ cd hello
$ cordova platform add ios --save
$ cordova platform add android --save

由于我是win系统,故上一步只添加了android平台,即只执行了$ cd hello$ cordova platform add android --save.大家按照自己的情况选择添加.

安装构建先决条件
$ cordova requirements

这一步是确定是否可以运行对应平台,第一次使用cordova基本是都不满足的.所以需要安装对应需要的环境.安卓平台的要求.安卓平台的要求就是需要安装1.7以上的jdk以及安卓sdk.这部分自己按照.安卓平台的要求一步一步安装即可.基本问题都不大,唯一要注意的就是别忘了配置环境变量.如果环境变量正确配置了仍然无法执行对应命令行,例如javac,一般是需要重启一下电脑让环境变量生效.

构建App
$ cordova build

这一步就比较关键了,构建刚刚创建的app.我在这一步开始不能够正常运行,花了一周的百度+谷歌才解决了这个问题.
这里主要是谷歌更改了maven地址,导致下载一直失败.刚刚我重试了一下发现此处已经不会报错,可能是第一次执行build才会下载,后续不需要再下载.具体解决方法直接放出来:

先找到platforms/build.gradle文件.
然后修改repositories配置(我两处都修改了)为以下配置:
repositories { google() jcenter() }
再次运行$ cordova build.第一次运行该命令需要下载很多东西,所以要确保网络通畅(如果失败就多运行几次),等到命令行出现项目路径时就ok了.

测试App
$ cordova emulate android

这一步我又出错了…TypeError: Cannot read property 'semver' of null.这个错误就比较好解决了,stackoverflow有几个大神已经解决了这个问题Cordova android emulation - Error: Cannot read property ‘semver’ of null
.我选择的是第三位的解决方法(看起来最简单),下面直接复制该大神的答案:

  1. find the path <project_root>/platforms/android/cordova/lib/emulator.js
  1. find the line avd.target = 'Android ’ + level.semver + ’ (API level ’ + api_level + ‘)’;
  2. replace it with avd.target = 'Android ’ + (level ? level.semver : ‘’) + ’ (API level ’ + api_level + ‘)’;

然后你的第一个app就能够在模拟器上运行了.

0人推荐
随时随地看视频
慕课网APP