美文网首页RN资料
Could not find react-native-0.71

Could not find react-native-0.71

作者: 物联白菜 | 来源:发表于2022-11-05 18:55 被阅读0次
    * What went wrong:
    Execution failed for task ':react-native-blob-util:javaPreCompileDebug'.
    > Could not resolve all files for configuration ':react-native-blob-util:debugCompileClasspath'.
       > Could not find react-native-0.71.0-rc.0-debug.aar (com.facebook.react:react-native:0.71.0-rc.0).
         Searched in the following locations:
             https://maven.aliyun.com/nexus/content/repositories/jcenter/com/facebook/react/react-native/0.71.0-rc.0/react-native-0.71.0-rc.0-debug.aar
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    

    今天下去就是开了个会,开会前项目还是正常跑,一回来就继续突然就跑不起来了,期间也没做过任何操作,一开始我还以为是这个依赖库有问题,就先卸载这个库,后来发现其他库也是会报这个错,想应该不是库的问题。

    看了报错大概意思就是从aliyun的jcenter里找不到,我猜估计是RN官网升级了debug的,但是aliyun里jcenter还没有,
    后面在android/build.gradle中

    maven { url 'https://maven.aliyun.com/repository/google' }
    maven { url 'https://maven.aliyun.com/repository/jcenter' }
    

    改成,变成直接从谷歌获取而不是从aliyun获取

    google()
    jcenter()
    
    

    后面跑了起来没报错,但是app一启动就报错、闪退。又尝试了其他办法,又起了其他报错,奔溃啊,跑着跑着,突然发现手机debug时的加载的颜色变了,原来是绿色加载进度变成灰色,我的RN编译版本是0.63.2,后面改成了0.66.0

    然后跑起来还是一样的报错。
    将阿里云的全部注释,改用下面两行代码。
    如果按照你原来的RN开发版本只添加这两行还没搞定的话,试一下build clean、 rm -rf node_modules/ ,然后修改升级一下RN版本、install 、run android。我不确定和版本是否有联系。

    maven { url "https://dl.google.com/dl/android/maven2/" }
    jcenter()
    
    图片.png

    改了之后,这个报错没了,但是出现了另外的报错 ( -_-|| )

    * What went wrong:
    Execution failed for task ':app:mergeDebugNativeLibs'.
    > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
       > More than one file was found with OS independent path 'lib/armeabi-v7a/libfbjni.so'
    

    网上查是在android/app/build.gradle 里添加上就好了,因为有多个,系统不知道你要用那个,这个写法是用第一个的意思,参考:https://cloud.tencent.com/developer/article/1552183
    在android/app/build.gradle文件里面,每出现一个我就添加一个,直到没有,如下图位置。

    图片.png
       packagingOptions {
            pickFirst 'lib/armeabi-v7a/libfbjni.so'
            pickFirst 'lib/arm64-v8a/libc++_shared.so'
            pickFirst 'lib/arm64-v8a/libfbjni.so'
            pickFirst 'lib/x86_64/libfbjni.so'
            pickFirst 'lib/x86/libfbjni.so'
            pickFirst 'lib/x86/libc++_shared.so'
            pickFirst 'lib/x86_64/libc++_shared.so'
            pickFirst 'lib/armeabi-v7a/libc++_shared.so'
            pickFirst 'lib/arm64/libflipper.so'
        }
    

    这时候出现闪退,打开android studio查看,我的闪退报错是版本不对应。
    于是在android/app/build.gradle 的 dependencies 强制和自己的RN开发版本一致,Android编译版本为改成最新的编译版本31,当然31的需要自己打开android studio SDK Manager,按照RN的0.70.0版本的配置一遍就可以了 。


    图片.png

    然后就可以正常跑了,

    图片.png

    另外的方法是,github 官网上有解释https://github.com/facebook/react-native/issues/35210

    我一直以为和RN没关系,觉得是自己某个地方的配置错了,我是解决完问题一个月后才想到官网的issues,因为是11月4当天发布的React Native version 0.71.0-rc0,找了一圈没发现,第二天才发布的这个问题,是自己摸索解决完的,绕了很多弯路,当时老板急于打包测试和发布,心累。

    简单的说一下官网的做法吧,我也没试过。
    即:假如你的RN开发版本是>=0.63的,比如是0.63.x ,就改成0.63.5 , 假如是0.64.x的就改成0.64.4,以此类推,每个阶段的版本都改成如下图中包含的版本,当然一些前提步骤还是要做的,比如clean build , 然后yarn install。

    图片.png

    相关文章

      网友评论

        本文标题:Could not find react-native-0.71

        本文链接:https://www.haomeiwen.com/subject/zznptdtx.html