zoukankan      html  css  js  c++  java
  • reactnativefileselector安装流程报错

    react-native 版本是0.55.4


      
    1. 安装 react-native-file-selector 插件
        npm  i react-native-file-selector -S

      2. 执行 react-native link react-native-file-selector

    ios版本

     1. 选中 项目工程/Libraries  右键  Add File to "xxx(app工程)

       如果  选择的 RNFileSelector.xcodeproj 文件是灰色的 ,

        1.  在这个目录(node_modules/react-native-file-selector/ios)下 运行 pod install ,

            2. 然后选择 Pods.xcodeproj文件 ,路径: node_modules/react-native-file-selector/ios/Pods/Pods.xcodeproj

    2.  在build phases / Link Binary with libraries 下添加 FileBrowser.framework

     

     

     

     3. Build Settings -> Frameworks Search Path 添加 ${BUILT_PRODUCTS_DIR}/FileBrowser

     

    4. 处理这个插件的bug (没有这个会报线程出错 Thread 1: signal SIGABRT)

        具体错误信息 

        查看详情错误 xCode

    dyld: Library not loaded: @rpath/libswiftCore.dylib
    Referenced from: /Users/***/Library/Developer/Xcode/DerivedData/APPName-ciohvchhwvwbfubwetjezrhgxcbs/Build/Products/Debug-iphonesimulator/FileBrowser.framework/FileBrowser
    Reason: image not found

     

    解决办法:

     

           

     

     

      注意点: 
        

     android 依赖时出现各种问题处理

     1. build时报错,包下载不下来,超时

      Could not resolve all artifacts for configuration ':classpath'.
           > Could not resolve com.android.tools.build:gradle:3.5.3.
             Required by:
                 project :
                > Could not resolve com.android.tools.build:gradle:3.5.3.
                   > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.5.3/gradle-3.5.3.pom'.
                    > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.5.3/gradle-3.5.3.pom'.
                       > Connection reset
               > Could not resolve com.android.tools.build:gradle:3.5.3.
                   > Could not get resource 'http://maven.google.com/nexus/content/groups/public/com/android/tools/build/gradle/3.5.3/gradle-3.5.3.pom'.
                     > Could not GET 'http://maven.google.com/nexus/content/groups/public/com/android/tools/build/gradle/3.5.3/gradle-3.5.3.pom'.
                           > Connect to maven.google.com:80 [maven.google.com/172.217.24.67, maven.google.com/2404:6800:4005:805:0:0:0:2003] failed: Connection timed out: connect

        处理方法 : 

          1. 到node_modules / react-native-file-selector / android / build.gradle 文件下面

             把 google() 替换成 maven { url 'https://maven.aliyun.com/repository/google' }

             把 jcenter()  替换成  maven { url 'https://maven.aliyun.com/repository/jcenter' }

                     2. 如果后面启动项目还报这个错误 , 可以去项目下 “项目应用 / android / build.gradle 文件

           a. 同上 替换 上面俩个google() 和 jcenter()
                         b. 可以把 maven { url "https://maven.google.com" } 注释掉,这个下载依赖 会出现 443 拉不下来的问题

      

      

              2. Could not resolve com.nbsp:library:1.8.

          

               解决:到node_modules / react-native-file-selector / android / build.gradle
        
            它更新到 1.9.x:所以使用  compile 'com.nbsp:materialfilepicker:1.9.1'
            把 compile 'com.nbsp:library:1.8' 替换成 compile 'com.nbsp:materialfilepicker:1.9.1'

    dependencies {
    //compile 'com.nbsp:library:1.8'
    compile 'com.nbsp:materialfilepicker:1.9.1'
    compile 'com.android.support:appcompat-v7:27.0.2'
    compile 'com.android.support:support-v4:27.0.2'
    compile 'com.facebook.react:react-native:+'
    }       

           3.  com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed 

       这是因为编译的版本配置不正确 

       原版

    android {
      compileSdkVersion safeExtGet("compileSdkVersion", 27)
      buildToolsVersion safeExtGet("buildToolsVersion", "27.0.3")

     

      defaultConfig {
        minSdkVersion safeExtGet("minSdkVersion", 16)
        targetSdkVersion safeExtGet("targetSdkVersion", 27)
        versionCode 1
        versionName "1.0"
      }
      lintOptions {
        abortOnError false
      }
    }

    修改之后

    android {
      compileSdkVersion safeExtGet("compileSdkVersion", 28)
      buildToolsVersion safeExtGet("buildToolsVersion", "28.0.3")

      defaultConfig {
        minSdkVersion safeExtGet("minSdkVersion", 21)
        targetSdkVersion safeExtGet("targetSdkVersion", 28)
        versionCode 1
        versionName "1.0"
      }
      lintOptions {
        abortOnError false
      }
    }

     

     

    4. 如果的你用的是 androidx 会报一些老的类已经弃用

    //import android.support.v4.app.ActivityCompat;

    import androidx.core.app.ActivityCompat;

    //import android.support.v4.content.ContextCompat;

    import androidx.core.content.ContextCompat;

    //import android.support.v7.app.AppCompatActivity;

    import androidx.appcompat.app.AppCompatActivity;

     

    5.  build 应用包报错

    Could not determine the dependencies of task ':react-native-file-selector:verifyReleaseResources'.
    > Could not resolve all task dependencies for configuration ':react-native-file-selector:releaseRuntimeClasspath'.

      解决办法:

     修改文件路径:node_modules/react-native-file-selector/android/build.gradle
     注释下面代码:

    maven {
      url "http://dl.bintray.com/lukaville/maven"
    }

  • 相关阅读:
    ASP.NET MVC必知必会知识点总结(二)
    ASP.NET MVC WEB API必知必会知识点总结
    ASP.NET MVC必知必会知识点总结(一)
    运用javascript的成员访问特性来实现通用版的兼容所有浏览器的打开对话框功能
    javascript必知必会:面象对象编程
    关于Entity Framework采用DB First模式创建后的实体批量修改相关属性技巧
    magrittr管道操作符使用解释(一)
    手把手教你学习R语言
    R工具包一网打尽
    用R创建Word和PowerPoint文档--转载
  • 原文地址:https://www.cnblogs.com/zhengyan/p/15597090.html
Copyright © 2011-2022 走看看