开始玩 React Native 了

  |   26 评论   |   2,004 浏览

    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
    • 然后开始各种下载,门外汉一下就懵了。完全不知道该选什么,就只能照着 第一条 的入门教程随便选择了下。然后下载就比较慢啦 :snail:
    • 最惨的是 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。 闪退 :scream: 以前总是听测试说,你的 APP 又闪退了。不明白,为什么这么不耐操,一点点就闪退
    • 来来来, debug 走起。查了问题,据说是要加一下下面这个东西。天哪,完全不知道这是什么一个鬼。然后再次 run 的时候就需要下载 Android SDK,我不是已经下载过好几个了么?哎,我就在等待的时间写了这篇文章,口水话都写好了,你却还没下载完~~~

      ndk {
      abiFilters “armeabi-v7a”, “x86”
      }

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

    评论

    • Vanessa 回复»

      应该不是,可能是第三方的 RN 依赖有用到。具体优化都没弄

    • marek @Vanessa 回复»

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

    • Vanessa 回复»

      可以继承到其他 app 里面了。最近忙,进度有点慢了。

    • wuhongxu 回复»

      V大的react玩得怎么样了?我被搞得头疼脑大的了,前段时间忙另一个项目,现在又重新用react,但是感觉里面有些细节想找人探讨 = =

    • 88250 回复»

      @participants 测试一下参与者通知(其他地方重现不了,这有这个帖子可以好奇怪)..

    • Vanessa 回复»

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

    • Vanessa 回复»

      @participants 节奏跟上没?准备开始进军热部署了

      couldn't find DSO to load: libreactnativejni.so 这个问题纠缠了2晚上,终于搞定了。

      吐槽一下破解过程吧:

      1. 先把原生 APP 项目 check 下来,按照步骤一步一步来。然后就 google 报错问题,说是 32 位和 64 位的问题,一顿乱修,还是错。回家睡觉
      2. 第二天新建了一个原生 APP 项目。好顺利,居然嵌入成功了。
      3. 无解了,找到 Android 开发小伙伴,他也一步一步来,居然成功了,还是只能怀疑自己
      4. 回家后把第一步修改过的 APP 项目代码 revert 了,重头来,还是不行
      5. 把 build.gradle 删了,把第二部的 copy 过来,修修改改,居然成功了
      6. diff 对比 build.gradle,这是个什么鬼,谁出来解释一下,看不懂呀?
        splits {
          abi {
            enable true
            reset()
            include "armeabi"
            universalApk false
            }
        

        }


      归根到底,还是自己太小白,啥都不懂,耽误了这么多时间~~~

    • Vanessa 回复»

      要不一起来吧

    • Vanessa 回复»

      Symphony 用了最基本的 jQuery,别问我 jQuery 有啥好 :smile:

      本来早就想看什么 react,vue 之类的,angular 都还不太熟悉。只是碍于没有动力和没有项目可以去实践。。。。

    • Genji 回复»

      我是不是要期待一下黑客派的APP?

    • oncereply 回复»

      我只知道它好,别问我有啥好~

    • Vanessa 回复»

      嗯。不会写 APP,就靠他了

    • Genji 回复»

      感觉前端框架太多,不如专心专研一个适合自己工作的。

    • Vanessa 回复»

      好的。先把第一二步完成了再来见我

    • Vanessa 回复»

      不想被浪潮吞没呀

    • Vanessa 回复»

      有啥好的呀?

    • Angonger 回复»

      向你提请求这一步

    • Vanessa 回复»

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

    • Vanessa 回复»

      来,一起呀。你走到哪一步了?

    • oncereply 回复»

      为什么脱离我大html,用vue不好么~

    • 714593351 回复»

      带带我 一起学

    • Angonger 回复»

      带带我

    • 阿歪 回复»

      这个行距略小,看起来有点累。

    • Vanessa 回复»

      事件,请求什么的都可以在里面写。都是组件化,一小点一小点的

    • mainlove 回复»

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

    发表评论

    validate