美文网首页
react-native 运行bug记录

react-native 运行bug记录

作者: boyrt | 来源:发表于2018-05-16 22:59 被阅读0次

    持续更新...

    1.错误:java.lang.IllegalStateException: Native module RNFetchBlob...

    java.lang.IllegalStateException: Native module RNFetchBlob tried to override RNFetchBlob for module name RNFetchBlob. If this was your intention, set canOverrideExistingModule=true


    图片1

    错误原因
    ./android/app/src/main/java 下的MainApplication.java文件中 有多个
    new RNFetchBlobPackage()

    @Override
        protected List<ReactPackage> getPackages() {
          return Arrays.<ReactPackage>asList(
              new MainReactPackage(),
                new RNFetchBlobPackage(),
                new RNDeviceInfo(),
                new RNFetchBlobPackage(),
                   new MyReactPackage()
          );
        }
    

    2.错误:console.error:"React Native version mismatch".

    android在debug模式下,出现如图2情况,这种情况一般是新建项目时发生,该错误是官网错误所致,解决方案是:

    //compile 'com.facebook.react:react-native:+'
    #改为如下形式:
    compile ('com.facebook.react:react-native:0.47.1'){force=true}
    
    图片2

    某些情况下,老的项目会出现如下错误:
    The development server returned response error code:404
    具体情况如图3和图4所示:

    图片3 图片4

    此bug原因和图2的原因一致,解决方案一致。
    另外,依赖的第三方module,如果compile 'com.facebook.react:react-native:+',亦要修改。

    3.错误:Building and installing the app on the device (cd android && ./gradlew installDebug)"

    在mac中新建或新导入的项目,执行react-native run-android时,报一下错误。

    图片5

    解决方案:
    若一切环境都配置好,且android手机设备已连接,那么可以尝试以下来确保权限是否足够
    在项目的终端中添加以下命令:

    chmod 755 android/gradlew

    4. Error:Metro Bundler can't listen on port 8081

    端口被占用
    解决方法:
    (1)找到占用端口的应用

    lsof -i :8081
    

    (2) kill (40247 是应用的 PID)

    kill -9 40247
    

    (3)然后执行

    npm start
    

    相关文章

      网友评论

          本文标题:react-native 运行bug记录

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