3
votes

react-native-cli: 2.0.1 react-native: 0.42.0 npm :3.5.2

I install sqlite on react native using this tutorial: https://github.com/remobile/react-native-sqlite when I'm done I executed this command : react-native run-android I have this error :

Cannot parse yarn version: 0.22
Scanning 547 folders for symlinks in /home/sofiane/projet/sql/node_modules (6ms)
Starting JS server...
Building and installing the app on the device (cd android && ./gradlew installDebug)...

FAILURE: Build failed with an exception.

* Where:
Build file '/home/sofiane/projet/sql/android/build.gradle' line: 9

* What went wrong:
A problem occurred evaluating root project 'sql'.
> Could not find method compile() for arguments [project ':react-native-sqlite'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

build.gradle :

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
    compile project(':react-native-sqlite')
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        mavenLocal()
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
    }
}
2

2 Answers

10
votes

You should configure <name-project>/android/app/build.gradle' not <name-project>/android/build.gradle'.

0
votes

In my case the structure of the gradle file was the problem, i accidetally duplicated the dependencias on allprojects session

from :

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.2'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
    dependencies { //=> duplicated
        classpath 'com.android.tools.build:gradle:3.5.2'
        classpath "io.realm:realm-gradle-plugin:6.0.1"
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

to


buildscript {
    ext.objectboxVersion = '2.1.0'
    repositories {
        jcenter()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.1'
        classpath "io.realm:realm-gradle-plugin:6.0.1"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}


task clean(type: Delete) {
    delete rootProject.buildDir
}

Hope this helps someone.