开始玩 React Native 了

本贴最后更新于 2685 天前,其中的信息可能已经时移世异

React Native - 不会
iOS 开发 - 不会
Android 开发 - 不会

好吧,一切从 0 开始

  1. 首先入门安装环境 getting started
  2. Hello Word
  3. 据说要用 redux, 傻傻分不清楚 redux-router, react-router, react-router-redux。最终还是放弃了,直接去看大神的代码好了
  4. 开始照葫芦画瓢,不错不错,画出了成就感
  5. iOS 一切都还顺利,只是工程是已经建好的,down 下来的时候 shell 脚本需要 +x 一下。都还好,有错误提示,照着弄就好了。用 RN 命令和 Xcode 都非常的顺畅。
  6. 好了,接下来就是 Android 了。react-native run-android 至今都还无法享用。 蓝瘦,香菇 ~~~
  • 各种被强,从百度云盘上下载了 android-sdk-macosx,按照 Readme 弄好后,AS(Android Studio) 终于正常了,立马配置代理。mirrors.neusoft.edu.cn:80

  • 然后开始各种下载,门外汉一下就懵了。完全不知道该选什么,就只能照着 第一条 的入门教程随便选择了下。然后下载就比较慢啦 🐌

  • 最惨的是 Android 报的各种错,无从下手,只能一步一步 google 啦。什么 RN 所依赖的 buildToolsVersion 版本不一致呀;什么 RN 依赖的配置有问题呀;什么 Map 的源码要改一下啦;什么地图无法加载呀;什么需要摇一摇的弹出层需要权限呀;什么需要下载其他依赖呀。。。

  • OK,终于可以 run 啦。手机上跑起来的时候,都激动的想哭了

  • 接下来被告知要嵌入到 APP 里面。不是说好可以发单品的么?哎,又要开始继续折腾了

  • 一开始没看懂 app 集成,搜了其他文章了解了下,终于明白了,开始把需要嵌入到的工程下载下来。然后按步骤实施

  • 实施结束,整个工程居然报错 476 个,然后还可以在手机上跑起来。完全不解, RN 的时候,有半个错都不要想跑起来

  • 跑起来以后要找个按钮,点击了可以跳转到我们的界面。但是但是,这怎么写呢?完全不懂呀,心里好怕怕。出去溜达了一圈,开工。不就是个点击么。大概就是这样了 Intent intent = new Intent(); intent.setClass(HomeActivity.this, MyReactActivity.class); 完全不懂,先照着弄吧

  • 好吧,再次 run,oh,no。 闪退 😱 以前总是听测试说,你的 APP 又闪退了。不明白,为什么这么不耐操,一点点就闪退

  • 来来来, debug 走起。查了问题,据说是要加一下下面这个东西。天哪,完全不知道这是什么一个鬼。然后再次 run 的时候就需要下载 Android SDK,我不是已经下载过好几个了么?哎,我就在等待的时间写了这篇文章,口水话都写好了,你却还没下载完 ~~~

    ndk {
          abiFilters "armeabi-v7a", "x86"
      }
    

等一切结束后,我一定要让 react-native run-android 这个命令可以运行起来

  • 调试
    5 引用 • 35 回帖
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    84 引用 • 139 回帖 • 1 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    333 引用 • 323 回帖 • 55 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • Vanessa

    先跟上我的节奏哦,还在处理 UncaughtException detected: java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libreactnativejni.so 这个错误呢

  • 其他回帖
  • someone

    splits 是用于对不同的分辨率或者不同的处理器架构构建不同的apk文件
    include "armeabi"只包含了armeabi架构。所以想问下你的手机或者虚拟机是x86架构吗?

    1 回复
  • mainlove

    貌似 react 只是视图构建(我怎么感觉和用 gwt 写页面一样),路由什么的还是需要额外的 js
    js 真是搞得太复杂了

    1 回复
  • Vanessa

    @participants 大家有没有收到 at 呀?

  • 查看全部回帖
Vanessa
我们终此一生,就是要摆脱他人的期待,找到真正的自己。 昆明

推荐标签 标签

  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    84 引用 • 139 回帖 • 1 关注
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    7 引用 • 26 回帖 • 1 关注
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    22 引用 • 31 回帖 • 2 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 93 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1083 引用 • 3461 回帖 • 281 关注
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    76 引用 • 421 回帖 • 2 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    375 引用 • 1217 回帖 • 580 关注
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 623 关注
  • 安全

    安全永远都不是一个小问题。

    189 引用 • 813 回帖
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    123 引用 • 168 回帖
  • sts
    2 引用 • 2 回帖 • 154 关注
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    91 引用 • 751 回帖
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    116 引用 • 99 回帖 • 268 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 604 关注
  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    228 引用 • 1450 回帖
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    675 引用 • 535 回帖
  • Sillot

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。
    项目 Github 地址:https://github.com/Hi-Windom/Sillot ,点个免费的 ⭐ 收藏是汐洛更新的最大动力。

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    23 引用 • 17 回帖 • 42 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖 • 1 关注
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 356 关注
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖 • 4 关注
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 600 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 608 关注
  • 导航

    各种网址链接、内容导航。

    37 引用 • 168 回帖 • 3 关注
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 519 关注
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    284 引用 • 4481 回帖 • 650 关注