Linux环境使用jenkins android gradle项目构建错误
* What went wrong:
A problem occurred configuring project ':app'.
> Could not download glide.jar (com.github.bumptech.glide:glide:3.7.0)
> Could not get resource 'https://jcenter.bintray.com/com/github/bumptech/glide/glide/3.7.0/glide-3.7.0.jar'.
> Could not GET 'https://jcenter.bintray.com/com/github/bumptech/glide/glide/3.7.0/glide-3.7.0.jar'.
> repo.jfrog.org: unknown error
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
我尝试使用wget方式下载链接会提示错误,然后我使用sudo方式成功下载链接。那么,我怎么能让jenkins gradle也使用sudo下载,或者使用其他解决方案
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.1'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath 'me.tatarka:gradle-retrolambda:3.2.5'
classpath 'me.tatarka.retrolambda.projectlombok:lombok.ast:0.2.3.a2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
// Exclude the version that the android plugin depends on.
configurations.classpath.exclude group: 'com.android.tools.external.lombok'
}
allprojects {
repositories {
jcenter()
mavenCentral()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
请帮帮我,谢谢。
答案 0 :(得分:0)
您可以尝试将本地库(在用户/ .gradle / caches中)上传到Jenkins服务器,这对我有用。
答案 1 :(得分:0)
我不认为以超级用户权限运行构建是一个很好的解决方案,因为似乎无法解决依赖关系。
只是建议如何解决它:Gradle拥有自己的依赖关系的本地缓存,并且不需要在每次构建时下载它们。因此,您可以使用Jenkins使用的相同Gradle分发,并使用su权限手动构建应用程序,以解决所有依赖关系并缓存它们。
请注意,默认情况下,动态版本的依赖项仅缓存24小时,正如the official docs中所述,但您可以将其更改为:
configurations.all {
resolutionStrategy.cacheDynamicVersionsFor 10, 'minutes'
resolutionStrategy.cacheChangingModulesFor 4, 'hours'
}