alpha0010 / react-native-file-access

Filesystem access for React Native
MIT License
307 stars 19 forks source link

[0.65.x] Android build fails, probably incompatibility with okHttp4 #30

Closed efstathiosntonas closed 3 years ago

efstathiosntonas commented 3 years ago

probably incompatibility with okHttp4 introduced in 0.65, here and here

After upgrading to react native 0.65.1 Android build returns:

e: /Users/stathis/WebstormProjects/xxxxxx/app/node_modules/react-native-file-access/android/src/main/java/com/alpha0010/fs/NetworkHandler.kt: (49, 33): Using 'body(): ResponseBody?' is an error. moved to val
e: /Users/stathis/WebstormProjects/xxxxxx/app/node_modules/react-native-file-access/android/src/main/java/com/alpha0010/fs/NetworkHandler.kt: (52, 36): Using 'headers(): Headers' is an error. moved to val
e: /Users/stathis/WebstormProjects/xxxxxx/app/node_modules/react-native-file-access/android/src/main/java/com/alpha0010/fs/NetworkHandler.kt: (61, 40): Using 'code(): Int' is an error. moved to val
e: /Users/stathis/WebstormProjects/xxxxxx/app/node_modules/react-native-file-access/android/src/main/java/com/alpha0010/fs/NetworkHandler.kt: (62, 44): Using 'message(): String' is an error. moved to val
e: /Users/stathis/WebstormProjects/xxxxxxx/app/node_modules/react-native-file-access/android/src/main/java/com/alpha0010/fs/NetworkHandler.kt: (63, 45): Using 'url(): HttpUrl' is an error. moved to val
e: /Users/stathis/WebstormProjects/xxxxxx/app/node_modules/react-native-file-access/android/src/main/java/com/alpha0010/fs/NetworkHandler.kt: (107, 26): Using 'body(): ResponseBody?' is an error. moved to val

build.gradle

buildscript {
    ext {
        buildToolsVersion = "30.0.2"
        minSdkVersion = 21
        compileSdkVersion = 30
        targetSdkVersion = 30
        supportLibVersion = "29.0.0"
        kotlinVersion = "1.5.21"
        ndkVersion = "20.1.5948944"
    }
    repositories {
       google()
       jcenter()
       mavenCentral()
       }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.1'
        classpath 'com.google.gms:google-services:4.3.8'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
        classpath "com.bugsnag:bugsnag-android-gradle-plugin:5.+"
    }
}

allprojects {
     repositories {
         jcenter()
         mavenCentral()
         mavenLocal()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url("$rootDir/../node_modules/react-native/android")
        }
        maven {
            // Android JSC is installed from npm
            url("$rootDir/../node_modules/jsc-android/dist")
        }
      google()
    }
    subprojects {
        project.configurations.all {
            resolutionStrategy.eachDependency { details ->
                if (details.requested.group == 'com.android.support'
                        && !details.requested.name.contains('multidex') ) {
                    details.useVersion "29.0.0"
                }
            }
        }
        afterEvaluate {
            project -> if (project.hasProperty("android") || project.plugins.hasPlugin('android-library')) {
                android {
                    compileSdkVersion rootProject.ext.compileSdkVersion
                    buildToolsVersion rootProject.ext.buildToolsVersion
                }
            }
        }
    }
}
efstathiosntonas commented 3 years ago

Thanks @alpha0010 for the quick fix!!