第一个React Native程序踩到的那些坑
毫不夸张的说用React Native写一个Hello World !程序是我碰到最复杂的Hello World。网络上的有关的环境搭建相关的文档也很多,但是总是有这样那样的问题。
官方中文版的安装文档,windows环境搭建文字教程
原因可能有3个:
1. 这个东西最早还是在Mac机上开发的,可能支持的会好一点,windows平台时间短。
2. 网络被墙或不稳定,注册npm淘宝镜像会快很多,但是不能完全解决问题。
3. 版本问题,Nodejs版本、React Native 版本、Android SDK 版本。。。。等等
问题总是有解决的方法,下面我说一下我踩到的坑:
一、按照文档上说的一路往下走,到react-native init MyProject 这一步可能会用问题,首先MyProject不能大写开头,其次这一步可能会让你无限的等下去,直到绝望,
没办法只能cancel掉,然后
1.npm init
2.npm install react-native --save
3.node -e "require('react-native/local-cli/cli').init('.','myproject')"
二、 运行react-native run-android到这里可能是问题最多的。
1.文档上面推荐用Genymotion模拟器测试,我也试过了,不简单而且很慢,最后还是用自己的手机连接,具体怎么打开USB调试开关可能每个设备还不一样。我用的是小米Note,问题在GitHub有人回答,最重要的一点是:go back to Developer options, scroll down to find Turn on MIUI optimization and disable it. Your phone will be rebooted。关闭到所有的电脑上的手机助手连接。用命令adb devices 能看到则说明连接成功,注意不能同时打开模拟器和手机设备。
2.在安装Android SDK时,Tools/Android SDK Build-tools (23.0.1)(这个必须版本严格匹配23.0.1),这个文档上面也说了,一定要注意,react-native模板配置文件里面默认的是23.0.1版本的。
最后上一张安装成功的图片

3.修改图标和App名称,修改名称:..\android\app\src\main\res\values\strings.xml文件里面的名称。修改图标:..\android\app\src\main\res目录下面文件夹里面的png文件,替换图标文件,注意图片尺寸和名称不能改变,之后在项目目录下面要运行 react-native start ,一定要运行这个命令,然后新开命令窗口在项目目录下面再运行 react-native run-android,会重新安装就可以看到新的名称和图标了。
第一个React Native程序踩到的那些坑的更多相关文章
- 第一个React Native项目
1>下图操作创建第一个React Native项目: 用Xcode运行界面如下: 记住: 在使用项目文件期间,终端记住不要关闭的哟!!! 改变了程序代码,需要刷新运行,使用快捷键: Comman ...
- DECO 一个REACT NAtive 开发IDE工具
DECO 一个REACT NAtive 开发IDE工具. 目前只支持 OS,NO WINDOWS https://www.decosoftware.com/ 一个方便的快速 ERXPRESS 教程:h ...
- 我的第一个React Native App
我用了三天时间实现了一个相对比较完整的React Native 新闻发布类型的示例.应用做得很简单,但大多React Native的组件都有用到,今天做一个分享(由于我电脑是Windows系统,所以只 ...
- React Native入门 开发第一个React Native应用
1. 首先创建一个目录(比如ReactNativeDir),用于存放各个ReactNative工程的代码 2.使用React Native命令工具来创建(初始化)一个ReactNative项目(tes ...
- 我的第一个react native
虽然react native出来了很久,但是自己一直因为各种原因没有接触学习,中间尝试过一次,但是因为复杂的环境配置而放弃了.现在,终于因为公司的项目不得不去学习了,当然了,再配置开发环境上面,我还是 ...
- React Native工作小技巧及填坑记录
以下是本人在React Native开发工作中使用的一些小技巧,记录一下. 1.从网络上拉取下来的React Native缺少React和React Native库. 终端 1. cd 项目根目录 2 ...
- 初识React Native,踩坑之旅....
开启Genymotion Android模拟器后 1.运行“react-native run-android”报端口冲突....解决方法: 2.运行“react-native run-android” ...
- 微信小程序踩过的一些坑
前言 迄今为止,正儿八经的上线了真正意义上的程序,但是这个小程序却着实不小. 之所以不小,是因为这个类似于社区的小程序,已经做了大部分都有的功能了 举例说明,具体的一些功能点: 1.帖子列表页面:会有 ...
- 为什么学习React Native三点原因
React Native不到两岁,兼容Android平台刚刚1年.我学习React Native其实也就不到1年,不算长,也不算短. Paul Graham在文章中写过:大多数人真正注意到你的时候,不 ...
随机推荐
- Redis简明教程
redis是什么: Redis is an open source, BSD licensed, advanced key-value store. It is often referred to a ...
- firewall 和 iptables 常用命令
[参考文章]:Centos7 关闭防火墙 [参考文章]:Centos7 firewall防火墙常用配置 CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下 ...
- JavaScript中子类调用父类方法的实现
一.前言 最近在项目中,前端框架使用JavaScript面向对象编程,遇到了诸多问题,其中最典型的问题就是子类调用父类(super class)同名方法,也就是如C#中子类中调用父类函数base.** ...
- linux ls统计文件个数
Linux下有三个命令:ls.grep.wc.通过这三个命令的组合可以统计目录下文件及文件夹的个数. 统计当前目录下文件的个数(不包括目录) ls -l |grep "^-"|wc ...
- CUDA driver version is insufficient for CUDA runtime version 解决
配置ubuntu17.1+CUDA9.2的caffe环境,CUDA sample编译完成,执行到./deviceQuery时报错:CUDA driver version is insufficient ...
- 使用pipenv隔离不同项目的依赖包
pipenv可以为不同的路径创建python环境和依赖包,结合pyenv可以达到为不同项目使用不同python版本,不同依赖包的目的. pip install pipenv #安装pipenv 使用p ...
- Go并发编程之美-CAS操作
摘要: 一.前言 go语言类似Java JUC包也提供了一些列用于多线程之间进行同步的措施,比如低级的同步措施有 锁.CAS.原子变量操作类.相比Java来说go提供了独特的基于通道的同步措施.本节我 ...
- Android多线程编程<二>Handler异步消息处理机制之Message
Message(消息): 一. Message的字段: 在Android中,Message作为线程之间(主要是子线程和UI主线程之间)数据交换的载体,通过Handler去传递.它 ...
- 全网最详细的实用的搜索工具Listary和Everything对比的区别【堪称比Everything要好】(图文详解)
不多说,直接上干货! 引言 无论是工作还是科研,我们都希望工作既快又好,然而大多数时候却迷失在繁杂的重复劳动中,久久无法摆脱繁杂的事情. 你是不是曾有这样一种想法:如果我有哆啦A梦的口袋,只要拿出 ...
- 【Java基本功】一文读懂String及其包装类的实现原理
String作为Java中最常用的引用类型,相对来说基本上都比较熟悉,无论在平时的编码过程中还是在笔试面试中,String都很受到青睐,然而,在使用String过程中,又有较多需要注意的细节之处. S ...