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"
}

原文地址:https://www.cnblogs.com/zhengyan/p/15597090.html