问题描述:
开发react native项目时,使用rn-fetch-blob插件
报错:Task :rn-fetch-blob:compileDebugJavaWithJavac FAILED
解决方案:
1、npm install --save rn-fetch-blob
2、react-native link rn-fetch-blob
3、确保以下文件中都有这些字段
1、 /android/settings.gradle
...
+ include ':rn-fetch-blob'
+ project(':rn-fetch-blob').projectDir = new File(rootProject.projectDir, '../node_modules/rn-fetch-blob/android')
2、 /android/app/build.gradle
dependencies {
...
+ implementation project(':rn-fetch-blob')
}
3、 /android/app/src/main/AndroidManifest.xml
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+ <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<intent-filter>
...
+ <action android:name="android.intent.action.DOWNLOAD_COMPLETE"/>
</intent-filter>
4、 /android/app/src/main/java/cn/.../MainApplication.java
+ import com.RNFetchBlob.RNFetchBlobPackage;
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
+ new RNFetchBlobPackage(),
...
4、如果以上步骤还没有解决,就需要看一下项目react native的版本,低于0.60的话rn-fetch-blob就只能用0.10.15的版本
npm install --save rn-fetch-blob@0.10.15