React Native
windows环境搭建开发Android
- 安装python2.7.X(不支持Python 3版本)
- 安装node.js(5.x版本或更高版本)
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
- 安装react-native-cli
npm install -g yarn react-native-cli
yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global
- 安装java jdk1.8
设置环境变量:计算机属性>高级>环境变量>系统变量
(1)新建环境变量java_home jdk安装path
(2)修改环境变量path %java_home%/bin
(3)修改环境变量classpath .;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar
(4)javac是否输出信息
- 安装Android Studio2.0或更高版本。
Android Studio不要乱点选项,多装了并没有害处
- 安装sdk
react native目前支持android6.0 API23.0.1版本的sdk![]()
- 设置Android SDK环境变量
1.新建ANDROID_HOME sdk路径
2.在path 添加%ANDROID_HOME%/tools;%ANDROID_HOME%/platform-tools
3.adb是否输出信息
- 修改 Maven 仓库地址
React Native 在初始化时会从 jcenter.binary.com 这个地方下载一些东西,网上搜索了一下,好像是在下载 Maven 相关的依赖。
针对全局进行修改。在用户主目录的 .gradle 文件夹下新建一个 init.gradle 文件,该文件的内容如下
allprojects {
repositories {
def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
all { ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository && repo.url != null) {
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
remove repo
}
}
}
maven {
url REPOSITORY_URL
}
}
}
- 运行项目
react-native init hello #创建项目名cd hello
react-native run-android
有关run-android报错以及踩过的坑总结
- 我的android studio下载sdk每次都有下载问题,我又下载了一个Android SDk Tools(一整套Android SDK的开发和调试工具)来下载23.0.1的sdk
- 使用官方推荐的虚拟机Genymotion
比起Android Studio自带的原装模拟器,Genymotion是一个性能更好的选择,但它只对个人用户免费
那么坑来了:
我下载的Genymotion包含virtualBox,然而win7始终无法打开Genymotion的安卓虚拟机
virlualBox报错 E_FALL(0x80004005)
很多报错都会显示这个错误代码,具体细节可以再看报错信息,找了网上好多解决办法都没生效,怀疑还是没找到问题,于是我仔细地看了看虚拟机控制台输出信息和设置,发现了端倪提示大概是CPU无法分配的,也就是硬件虚拟化,相关链接https://www.cnblogs.com/zhao1...
我用的thinkpad,F1进入BOIS界面,找到Security,Virtualization,选择Enable即可
怎么确认自己是否是硬件虚拟化原因,如图如果你的系统是64位,却看不到64-bit的选项很有可能是这个原因,在附上我虚拟机的配置选项
- Genymotion配置自己下载的SDk
到此能启动虚拟机,虚拟机没报错却看不到安卓界面就说明你下的sdk有问题
- 连接真机
这坑是小米给的,无声无息,充满了恶意
adb devices #查看设备是否连接
如何没有请检查是否开启usb调试,可能端口5037被占
netstat -aon|findstr "5037"
打开任务管理器>进程 找到对应的PID结束进程,记得把杀毒软件,360等都关了
到这应该成功了,然后发现run-android发现还是会报错
我adb都能找到设备,WTF。。。
原因就在USB安装没开启,点开启不就完了,小米提示需要插SIM卡,无语......,最后建议把启用MIUI优化也关了
最后如果还是找不到设备建议看一下这个文章https://www.cnblogs.com/sansh...
- 最后奉上我的安装包
链接:https://pan.baidu.com/s/1EO5e... 密码:gyj4
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。