Android:无法找到或加载主类org.gradle.wrapper.GradleWrapperMain

时间:2016-05-10 08:21:01

标签: android gradle gitlab gradlew gitlab-ci

我正在尝试在GitLab CI上构建我的项目,但不幸的是,我一直在跑步者中得到这个错误:

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

现在我知道我的环境有问题,但我无法解决问题。我在网上搜索,发现我需要更新我的.gitignore文件,我在这里做的是:

### 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

我还在我的gradle.build中加入了以下几行:

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

但是每次运行构建时我都会得到堆栈!这也是我的.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

出现错误的行是:

- wget --quiet --output-document=gradle.zip https://services.gradle.org/distributions/gradle-2.8-bin.zip

3 个答案:

答案 0 :(得分:7)

根据您的gitignor,CI永远不会获得gradle-wrapper.jar库,因为它尚未提交,但它必须是,因为它用于运行包装器。

检查,是否提交gradle-wrapper.jar,如果没有,则提交它。

答案 1 :(得分:2)

我试图运行时遇到了这个错误:

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

我的错误是我没有阅读或遵循指示:我必须首先运行这两个命令来初始化:

gradle
./gradlew jar

然后./gradlew releaseTarGz可以按预期找到主类。

答案 2 :(得分:1)

@Stanislav你是部分正确的。我设法找出了问题,当然正如预期的那样,它正好在我面前。所以我们都知道GitLab CI上的跑步者都是空的"。意思是他们没有安装任何东西。这就是为什么我们有.gitlab-ci.yml。现在回顾我的.gitlab-ci.yml我告诉跑步者jdk7& gradle但我错过了Android SDK,这就是错误出现的原因:

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

所以我的新.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=android-sdk.tgz https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
- tar --extract --gzip --file=android-sdk.tgz
- echo y | android-sdk-linux/tools/android --silent update sdk -a -u -t 1,2,3,4,5,6,29,31,32,33,34,45,138,142,145,146,147,148,149,150,151
- wget --quiet --output-document=gradle.zip https://services.gradle.org/distributions/gradle-2.12-bin.zip
- unzip -q gradle.zip
- export ANDROID_HOME=$PWD/android-sdk-linux

build:
script:
- gradle-2.12/bin/gradle assembleDebug
artifacts:
paths:
- app/build/outputs/apk/app-release-unsigned.apk