0

I tried this solution on StackOverflow but didn't work.

I am using Ubuntu 18.04 LTS, Android-Studio-3, Java-1.8, Gradle-3.4.1.

Github-repo link of my project. I am building React-Native App, after npm run eject, I can't run npm run android.

I was able to run a project before ejecting app but an error occurs when I run npm run android,

(base) gd@gd10:~/Desktop/react-native/demo_app$ npm run android

> @ android /home/gd/Desktop/react-native/demo_app
> react-native run-android

Scanning folders for symlinks in /home/gd/Desktop/react-native/demo_app/node_modules (9ms)
JS server already running.
Building and installing the app on the device (cd android && ./gradlew installDebug)...
Download https://jcenter.bintray.com/de/undercouch/gradle-download-task/3.1.2/gradle-do
wnload-task-3.1.2.pom
Download https://jcenter.bintray.com/org/apache/httpcomponents/httpcore/4.4.4/httpcore-
4.4.4.pom
Download https://jcenter.bintray.com/org/apache/httpcomponents/httpcomponents-core/4.4.
4/httpcomponents-core-4.4.4.pom

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'goods_seller'.
> Could not resolve all files for configuration ':classpath'.
   > Could not find com.android.tools.build:gradle:3.4.1.
     Searched in the following locations:
         https://jcenter.bintray.com/com/android/tools/build/gradle/3.4.1/gradle-3.4.1.pom
         https://jcenter.bintray.com/com/android/tools/build/gradle/3.4.1/gradle-3.4.1.jar
         https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.4.1/gradle-3.4.1.pom
         https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.4.1/gradle-3.4.1.jar
     Required by:
         project :
   > Could not find com.android.tools.build:gradle:3.4.1.
     Searched in the following locations:
         https://jcenter.bintray.com/com/android/tools/build/gradle/3.4.1/gradle-3.4.1.pom
         https://jcenter.bintray.com/com/android/tools/build/gradle/3.4.1/gradle-3.4.1.jar
         https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.4.1/gradle-3.4.1.pom
         https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.4.1/gradle-3.4.1.jar
     Required by:
         project :

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 31s
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/getting-started.html

It fails to build gradle, and could not find gradle, though I have installed gradle using sudo apt-get install gradle.

It gives same output on running with flag --stactrace,

gradle -v output is

(base) gd@gd10:~/Desktop/react-native/demo_app$ gradle -v

------------------------------------------------------------
Gradle 3.4.1
------------------------------------------------------------

Build time:   2012-12-21 00:00:00 UTC
Revision:     none

Groovy:       2.4.15
Ant:          Apache Ant(TM) version 1.10.3 compiled on July 19 2018
JVM:          1.8.0_201 (Oracle Corporation 25.201-b09)
OS:           Linux 4.15.0-45-generic amd64

(base) gd@gd10:~/Desktop/react-native/demo_app$ 

demo_app/android/build.gradle file is

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

buildscript {
    ext {
        buildToolsVersion = "27.0.3"
        minSdkVersion = 16
        compileSdkVersion = 24
        targetSdkVersion = 26
        supportLibVersion = "27.1.1"
    }
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'

        classpath 'com.android.tools.build:gradle:2.2.2'
        classpath 'de.undercouch:gradle-download-task:3.1.2'
        // 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"
        }
        google()
    }
}


task wrapper(type: Wrapper) {
    gradleVersion = '4.4'
    // gradleVersion = '4.10.3'
    distributionUrl = distributionUrl.replace("bin", "all")
}

Edit 1:

after answer from cod-e-rection,

I changed code as

dependencies {
classpath 'com.android.tools.build:gradle:3.3.2'
}

then after running npm run android, it gave error as,

* What went wrong:
A problem occurred evaluating project ':app'.
> Failed to apply plugin [id 'com.android.application']
   > Minimum supported Gradle version is 4.10.1. Current version is 4.4. If using the gradle wrapper, try editing the distributionUrl in /home/gd/Desktop/react-native/demo_app/android/gradle/wrapper/gradle-wrapper.properties to gradle-4.10.1-all.zip

screenshot

GD- Ganesh Deshmukh
  • 1,456
  • 3
  • 24
  • 36

3 Answers3

3

Seems like your Could not find com.android.tools.build:gradle:3.4.1. issue is solved by changing the version code 3.4.1 to 3.3.2.

Another problem exists because in 3.3.2 gradle version you have to use minimum gradle distribution version 4.10.1. To solve this open gradle-wrapper.properties file and use this line to

distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip

Replace the previous on whatever it is.

Faysal Ahmed
  • 7,501
  • 5
  • 28
  • 50
1

The latest android gradle version is :

dependencies {
    classpath 'com.android.tools.build:gradle:3.3.2'
}

You can find the documentation at the follwing link . So you have to change it from classpath 'com.android.tools.build:gradle:3.4.1' to : classpath 'com.android.tools.build:gradle:3.3.2' and it will be fixed.

Elio Lako
  • 1,333
  • 2
  • 16
  • 26
0

First, in android/gradle/wrapper/gradle-wrapper.properties change distributionUrl to:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip

Then, in android/build.gradle change gradle classpath to this:

classpath 'com.android.tools.build:gradle:3.3.0'
Soroush Chehresa
  • 5,490
  • 1
  • 14
  • 29