今天心血来潮,突然想要使用 weex 试试安卓开发会不会比 react native 更简单一点,毕竟可以在weex中直接使用vue嘛,结果去官方文档一看,找了半天也没找到安卓开发环境的配置,而且竟然连 搭建开发环境 这部分用于web的介绍都是错的,明明是 8081 端口,官方文档居然说是 8080 端口,要不是跑去配置文件看了一下,项目都启动不了,而且开发时应该直接用 npm start
,官方文档居然说是npm run dev & npm run serve
。文档真的是一言难尽,下面正式介绍一下安卓开发环境配置吧:
-
首先当然是各种软件的下载了,链接在下方评论中。国内由于墙的原因,各种下载问题,有能力的可自行查找进行下载。
-
安装JDK version>=1.7 并配置环境变量。环境变量的配置主要是
- 单击“计算机-属性-高级系统设置”,单击“环境变量”。在“系统变量”栏下单击“新建”,创建新的系统环境变量。
- 新建->变量名"JAVA_HOME",变量值"C:\Java\jdk1.8.0_05"(即JDK的安装路径)
- 编辑->变量名"Path",在原变量值的最后面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”
-
安装Android SDK 并配置环境变量。可使用自百度云下载的那个android-studio文件进行安装。至于环境配置,
- 单击“计算机-属性-高级系统设置”,单击“环境变量”。在“系统变量”栏下单击“新建”,创建新的系统环境变量。
- 新建一个环境变量,变量名:ANDROID_HOME,变量值:C:\Program Files (x86)\Android\android-sdk(以你安装目录为准,确认里面有tools和add-ons等多个文件夹),点击确认。
- 在变量PATH后面加上变量值
;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;
-
安装安卓虚拟机,推荐genymotion,可以点击genymotion.2.10.0.exe进行安装,安装完毕以后可以注册一个个人账号进行使用,点击 Add ,由于墙的原因下载缓慢,可参考jingyan.baidu.com/article/363…,推荐使用迅雷下载,比浏览器快多了。或者使用我提供的Custom Phone -6.0.0-API 23 - 768*280版本。
-
接下来使用
weex platform add android
,安装完成以后还是用npm run android
试着在模拟器运行,但是却频繁报错。重点来了:- gradle下载缓慢,进入 应用目录/platforms/android/gradle/wrapper/gradle-wrapper.properties文件,将地址 https://services.gradle.org/distributions/gradle-2.14.1-all.zip 复制到迅雷进行下载,并将 第9行前面的#去掉,在第6行加上#。如果你使用第7行的url进行下载,之后你会发现版本过低,最低版本为2.14.1,所以老老实实用迅雷下载吧。完成之后将下载的东西放到 应用目录/platforms/android/gradle/wrapper/ 这个目录下,再次运行
npm run android
; - 嗯,没错,还是报错。报错原因为 未发现
Android SDK Platform 26, Android SDK Build-Tools 26
这两个东西,但是安装完成以后其实还是不能用,你得去 应用目录/platforms/android/build.gradle,修改 subjects对象的ext值,compileSdkVersion=26 buildToolsVersion="26.0.1"
主要就是这两个东西。
- gradle下载缓慢,进入 应用目录/platforms/android/gradle/wrapper/gradle-wrapper.properties文件,将地址 https://services.gradle.org/distributions/gradle-2.14.1-all.zip 复制到迅雷进行下载,并将 第9行前面的#去掉,在第6行加上#。如果你使用第7行的url进行下载,之后你会发现版本过低,最低版本为2.14.1,所以老老实实用迅雷下载吧。完成之后将下载的东西放到 应用目录/platforms/android/gradle/wrapper/ 这个目录下,再次运行
-
这下就大功告成了。打开模拟器,在应用根目录下运行
npm run android
,终于成功了~!
后来在官方issues发现好像有关于安卓的配置信息, github.com/weexteam/ar…。但是并不准确,,明明是 Android SDK version 26
和 SDK build tools version 26.0.1
,该文档居然说是 Android SDK version 23
和 SDK build tools version 23.0.1
.