最近编辑于2018年6月29日

一、

根据http://facebook.github.io/react-native/docs/getting-started.html或者https://reactnative.cn/docs/0.51/getting-started.html先安装好对应软件以及配置好相应环境。

二、

1、新建(不含android和ios包的)项目:在终端输入 npm install -g create-react-native-app和create-react-native-app AwesomeProject即可新建一个名为AwesomeProject的项目。

2、在终端切换到项目根目录下(如cd AwesomeProject),开启服务npm start,根据提示选择运行到android手机上。

3、此时手机上会安装上一个名为Expo的app,终端上会显示一个二维码,使用Expo扫描二维码即可进行调试。

三、

1、新建(含android和ios包的)项目:在终端输入react-native init AwesomeProject即可新建一个名为AwesomeProject的项目。

2、从你电脑上的其他安卓项目中复制local.properties文件到项目对应的android包下。

3、在终端切换到项目根目录(如cd AwesomeProject),开启服务同时react-native run-android运行项目到android手机上(windows下需要先开启服务npm start)。

四、

1、通过Android Studio新建Android项目。

2、a、在原生 Android 项目的在app/build.gradle文件中,添加React Native依赖:compile"com.facebook.react:react-native:+
     b、加入.so 库ndk {
                               abiFilters "armeabi-v7a", "x86"
                              }   
     c、在工程目录下找到工程的 build.gradle文件中,添加 maven依赖

allprojects {repositories {jcenter()maven {// All of React Native (JS, Android binaries) is installed from npmurl "$rootDir/node_modules/react-native/android"}}
}

d、在 app 目录里添加需要的权限

 <uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

e、添加 FaceBook 的 ReactNative 调试的 activity
         <activity android:name="com.facebook.react.devsupport.DevSettingsActivity"/>

3、在项目根目录使用npm init命令创建package.json,同时在生成的package.json文件的scripts中添加
"start": "node node_modules/react-native/local-cli/cli.js start"

4、使用npm install -save react,npm install -save react-native下载源文件

5、你也可以使用curl -o .flowconfig https://raw.githubusercontent.com/facebook/react-native/master/.flowconfig 
在android根目录下生成.flowconfig文件作用于flow主要用来做静态代码检查。

6、参照上面两种方式生成的项目来填写你的AndroidManifest.xml、你的react-native入口activity、你的application还有index.android.js。

7、参考https://reactnative.cn/docs/0.51/integration-with-existing-apps.html#content
          http://blog.csdn.net/panhongzhi02/article/details/54910894 
          https://www.jianshu.com/p/fd4558f1a928
五、常见问题

1、The development server returned response error code: 500
这个错误可能是 babel-preset-react-native库版本不对应,需要在终端输入npm uninstall babel-preset-react-native  
npm install babel-preset-react-native@2.1.0

2、

(Android 5.0及以上)使用adb reverse命令
注意,这个选项只能在5.0以上版本(API 21+)的安卓设备上使用。首先把你的设备通过USB数据线连接到电脑上,并开启USB调试(关于如何开启USB调试,参见上面的章节)。运行adb reverse tcp:8081 tcp:8081
不需要更多配置,你就可以使用Reload JS和其它的开发选项了。

参考https://reactnative.cn/docs/0.47/running-on-device-android.html#content

3、摇晃手机,或者运行adb shell input keyevent 82,可以调出开发者菜单。

react native新建项目运行在安卓设备上相关推荐

  1. 如何把uniapp项目运行在安卓手机上(保姆式教程)

    准备工作: HBuilder X 一个项目 一部安卓手机 一根数据线 一位优秀的开发工程师 第一步:用数据线将安卓手机和电脑进行连接. 再然后,我们需要有一个项目.(项目都没有,你运行在手机上,你在想 ...

  2. uniapp项目运行在安卓模拟器上的配置

    最近研究了uniapp,在网上找个配置安卓端的方法,记录下来. 一:首先要下载一个mumu模拟器或者雷电模拟器 官网下载地址:(https://mumu.163.com/) 下载完成后,直接安装下一步 ...

  3. React Native 开源项目汇总

    最近闲来无事,学习了React Native开发Android APP,自我感觉RN APP的效果和Native APP比还是蛮不错,以下是找到的一些优秀源码,仅供学习参考... React Nati ...

  4. gnuradio android手机,如何搭配USRP在安卓设备上搭建GNU Radio

    原标题:如何搭配USRP在安卓设备上搭建GNU Radio 在这篇文章中,我们会使用安卓设备通过USB连接USRP.所以就需要USRP B2xx(B200, B210, 或者是 B200mini),这 ...

  5. 【用PS3手柄在安卓设备上玩游戏系列】连接手柄和设备

    背景 硬件要求1:PS3 手柄 + 手柄配套的USB线 硬件要求2:已经获得 ROOT 权限并且支持蓝牙的安卓设备 软件要求1:Sixaxis Compatibility Checker PS3 手柄 ...

  6. HG255d通过U盘搭载php服务器,转:利用block-extroot,让你的openwrt运行在USB设备上。...

    一.我需要这个功能吗? 如果你对跑openwrt的设备的要求仅仅是可以上上网,那下面的可以不用看了. openwrt运行在USB设备上的好处: 可以安装openwrt官方的N多软件了(但官方暂时没有m ...

  7. React Native开源项目如何运行(附一波开源项目)

    学习任何技术,最快捷的方法就是学习完基础语法,然后模仿开源项目进行学习,React Native也不例外.React Native推出了1年多了, 开源项目太多了,我们以其中一个举例子.给大家演示下如 ...

  8. React Native开源项目-稀土掘金客户端(Android、iOS双适配)

    @wangdicoder开发的基于React-Native实现的稀土掘金客户端,开源地址:https://github.com/wangdicoder/JueJinClient 欢迎大家star,fo ...

  9. 【Modelsim零基础入门】新建项目+运行第一个verilog仿真程序:一位加法器

    本篇注释比较详细,由<Moselsim 第一个仿真程序 四位加法器>修改而来 原博客:https://blog.csdn.net/sinat_42483341/article/detail ...

最新文章

  1. SERVICE问题解决方法
  2. Class.isAssignableFrom(Class clz)与instanceof与Class.isInstance(Object obj) 的区别和联系
  3. 实现输入框小数多 自动进位展示,编辑时实际值不变
  4. JavaWeb基础(jsp初识)
  5. 推荐:26种NLP练手项目(代码+数据)
  6. python可以调用c语言编写的底层代码吗_Python基础笔记系列十四:python无缝调用c程序...
  7. 苹果怎么关闭系统自动更新_你知道怎么用安卓手机更省电吗?学会这样做,不难...
  8. sqlserver主键自增
  9. Download and Install R and RStudio for win10
  10. chrome/firefox插件ie tab,解决无法使用网银的问题
  11. 5、烃源岩相关文献知识总结
  12. python数据挖掘课后题答案_中国大学MOOC《数据挖掘与python实践》章节答案
  13. 阿里云服务器使用记录
  14. 重装系统(无法开机时候操作方法)
  15. 工业加固三防平板主要适用于哪些环境
  16. java dispose事件_求助!!为什么我的dispose()不起作用
  17. phpstudy构建数据库
  18. arduino 下16进制转2进制
  19. 推荐浏览器屏蔽神器,含广告和自定义部分
  20. r语言和python爬虫谁厉害_R vs Python: 谁是最好的数据科学语言?

热门文章

  1. govendor 使用说明
  2. c++自定义sort()函数的排序方法
  3. 连通域分析之种子填充法
  4. java单元测试 规范,java – 在spock单元测试规范中传递实际参数
  5. paddle 12种学习率调度器
  6. Windows下Nginx的启动、停止等命令
  7. MariaDB数据库创建用户
  8. leetcode 69. 求平方根
  9. python爬取微信群聊天信息_微信 Windows 3.1.0 测试版发布:群聊设置备注,聊天列表不显示某个聊天...
  10. 【ArcGIS学习系列】高级编辑功能介绍——持续不定期更新