【发布时间】:2013-12-11 22:13:14
【问题描述】:
我正在为我的 Android 项目切换到 Gradle。我已将项目从 Eclipse 导入 Android Studio,并使用 Gradle 1.8 进行了包装。
我的假设是 Gradle 以 Maven 的方式处理依赖项,也就是说,如果您指定一个本地存储库中不存在的依赖项,它将从远程存储库中提取它。 Android Studio 没有引入我的依赖项。我试图运行./gradlew androidDependencies --debug,但我没有看到任何依赖项的下载,但是它们被确认存在并且没有引发警告/错误。
11:11:36.833 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleVersionRepository] Using cached module metadata for module 'com.nostra13.universalimageloader#parent;1.8.6' in 'MavenRepo'
11:11:36.834 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.UserResolverChain] Using module 'com.nostra13.universalimageloader:parent:1.8.6' from repository 'MavenRepo'
11:11:36.855 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder] Visiting configuration com.nostra13.universalimageloader:parent:1.8.6(default).
11:11:36.857 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder] Attaching com.nostra13.universalimageloader:parent:1.8.6(default) to its parents.
Gradle 确实获取依赖项并在此位置从中创建元数据
/home/wil/.gradle/caches/artifacts-26/filestore/com.nostra13.universalimageloader/parent/1.8.6/pom/41669498c2bec505b61772b083cab341653cb86b
有趣的是,我发现如果我在本地有 maven 依赖项,它会将其作为外部库拉入 Android Studio,并且还会将 jar 添加到 gradle 缓存文件存储中,它不会对我指定的远程依赖项执行此操作。
这是我的 build.gradle
buildscript {
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.3'
}
}
repositories{
mavenCentral()
}
apply plugin: 'android'
dependencies {
compile 'com.nostra13.universalimageloader:parent:1.8.6'
}
android {
compileSdkVersion 19
buildToolsVersion "19"
defaultConfig {
minSdkVersion 14
targetSdkVersion 17
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
instrumentTest.setRoot('tests')
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
我正在运行 Android Studio 0.3.6、Ubuntu 13.04、Gradle 1.8、JDK 6
我应该运行什么 gradle 命令来从 maven 存储库中拉取远程依赖项?我是否缺少允许下载依赖项的配置设置?
【问题讨论】:
-
远程依赖项会在任务需要时自动下载。这个没有任务。
标签: android gradle android-studio