13

我正在尝试在 Android Studio 中构建一个项目。该项目使用 Gradle。

当时,maven.org 遇到了一些问题,我收到以下错误:

Gradle: A problem occurred configuring project ':MyProject'.
> Could not resolve all dependencies for configuration ':MyProject:classpath'.
> Could not resolve com.android.tools.build:gradle:0.5.+.
Required by:
Android:MyProject:unspecified
> Could not HEAD 'http://repo1.maven.org/maven2/com/android/tools/build/gradle/0.5.4/gradle-0.5.4.pom'. Received status code 503 from server: Service Temporarily Unavailable

这让我觉得我不想依赖 maven.org 和互联网连接来构建我的构建!

有没有办法可以删除这些依赖项并使 Android Studio 自给自足?即使没有互联网连接,即使 maven.org 永远无法恢复,我也希望能够构建我的 Android 项目。

编辑:

如果我理解正确,有一种方法可以设置本地 Maven 存储库,然后使用

repositories {
  mavenLocal()
}

代替

repositories {
        mavenCentral()
    }

build.gradle文件中。

不幸的是,我不确定这是否是方式以及这种方法的缺点是什么。

更新(2013 年 12 月):

Android Studio 现在支持 Gradle 离线模式(从0.4.0 版本开始)。更多信息可以在 Studio 的发行说明中找到。

4

3 回答 3

5

如果您想使用 Maven 本地存储库而不是远程存储库,则需要将 jar 文件添加到本地存储库。

本地 Maven 存储库位于

~/.m2/repository

要编译 android 项目,您需要 Android Builder 库。您可以从http://mvnrepository.com/artifact/com.android.tools.build/builder/0.5.4下载 jar或自己编译源代码。

要在命令行中安装此库类型:

mvn install:install-file -DgroupId=com.android.tools.build \
-DartifactId=builder \
-Dversion=0.5.4 \
-Dfile=builder-0.5.4.jar \
-Dpackaging=jar \
-DgeneratePom=true

然后在 build.gradle 文件中你可以使用

mavenLocal()

代替

mavenCentral()

显然,您可能需要在本地 repo 中添加一些额外的库来运行 Android 项目,但是添加不同库的过程与上面完全相同。

可以通过 Archiva 应用程序代替命令行添加库。
http://archiva.apache.org/index.cgi

于 2013-08-01T09:42:43.717 回答
3

现在你可以交换

mavenCentral()

maven { url "http://us.maven.org/maven2/" }

在你的 build.gradle

但是对于完全离线访问,您可以在计算机上创建本地 maven 存储库 - 可能

你可以看看:How to use Sonatype Nexus with Gradle to proxy repsitories?

于 2013-07-31T12:15:13.197 回答
0

请检查您的互联网连接

在阅读了问题的第二部分后:-这些东西被缓存了-因此即使没有互联网连接,您也可以构建

于 2013-07-31T11:26:45.187 回答