Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android: Could not find or load main class org.gradle.wrapper.GradleWrapperMain

I am trying to build my project on GitLab CI but unfortunately for me I keep getting this error inside the runner:

Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain

Now I know there is something wrong with my environment but I just cant get my mind wrapped around the problem. I searched on the web and I found I needed to update my .gitignore file and I did here it is:

### Java ###
*.class

### Android ###
*.apk
*.ap_

### Package files ###
*.war
*.ear
*.aar

### Gradle ###
.gradle
 build
bin/
build/
build.xml
gen/
.gradle/
gradlew
gradlew.bat
gradle-wrapper.jar
gradle-wrapper.properties

### Android Studio ###
.idea
local.properties
.DS_Store
/captures

I also eddied my gradle.build to contain the following lines:

task wrapper(type: Wrapper) {
gradleVersion = '2.0' 
}

But again every time I run a build I get stack! Here is also my .gitlab-ci.yml:

before_script:
- apt-get --quiet update --yes
- apt-get --quiet install --yes wget tar unzip openjdk-7-jdk lib32stdc++6   lib32z1
 - wget --quiet --output-document=gradle.zip https://services.gradle.org/distributions/gradle-2.8-bin.zip
 - unzip -q gradle.zip
 - export ANDROID_HOME="/opt/android-sdk"
 - chmod +x gradlew

 dev:
 script:
 - ./gradlew assembleDebug

And the line where the error appears is:

- wget --quiet --output-document=gradle.zip https://services.gradle.org/distributions/gradle-2.8-bin.zip
like image 369
user6006748 Avatar asked May 10 '16 08:05

user6006748


People also ask

How do you create Gradle wrapper properties?

Use the Gradle wrapper task to generate the wrapper, specifying a version. The default is the current version. Once you have upgraded the wrapper, you can check that it's the version you expect by executing ./gradlew --version .

How do I find my gradle version?

In Android Studio, go to File > Project Structure. Then select the "project" tab on the left. Your Gradle version will be displayed here.


2 Answers

According to your gitignor, CI is never getting the gradle-wrapper.jar library, because it wasn't commited yet, but it has to be, since it is used to run the wrapper.

Check, whether is gradle-wrapper.jar commited, if no, then just commit it.

like image 76
Stanislav Avatar answered Oct 11 '22 12:10

Stanislav


I got this error by trying to run:

./gradlew releaseTarGz
Could not find or load main class org.gradle.wrapper.GradleWrapperMain

My mistake was I didn't read or follow the directions: I had to run these two commands first to initialize things:

gradle
./gradlew jar

Then the ./gradlew releaseTarGz can find that main class as expected.

like image 27
Eric Leschinski Avatar answered Oct 11 '22 12:10

Eric Leschinski