我正在尝试在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 Offline模式(自version 0.4.0起)。有关详细信息,请参阅Studio的发行说明。
答案 0 :(得分:5)
如果您想使用maven local repo而不是远程repo,则需要将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()
显然,你可能需要在本地仓库中使用一些额外的lib来运行Android项目,但添加不同库的过程与上面完全相同。
可以通过例如命令行来添加库而不是命令行。 Archiva app。
http://archiva.apache.org/index.cgi
答案 1 :(得分:3)
现在你可以交换
mavenCentral()
到
maven { url "http://us.maven.org/maven2/" }
你的build.gradle中的
但是对于完全脱机访问,您可以在计算机上创建本地maven存储库 - 可能
您可以查看:How to use Sonatype Nexus with Gradle to proxy repsitories?
答案 2 :(得分:0)
请检查您的互联网连接
阅读问题的第二部分后: - 这些东西被缓存 - 所以你甚至可以在没有互联网连接的情况下进行构建