Android Gradle构build失败:无法findcom.google.android:support-v4:r18

编辑:

这个问题似乎以某种方式消失,可能是由于新的Gradle构build系统变得更加成熟。

我有两个独立的Android项目:

第一个项目是一个使用android-library”插件的Android库 ,它依赖于support-library-v4:r18 。 从build.gradle中的 依赖项片段:

compile 'com.android.support:support-v4:18.0.0' 

支持库是通过Android SDK Manager安装的Android支持库中获取的,如此处所述。 然后通过运行: gradle uploadArchives将该项目构build并发布到maven本地存储库

我经过validation,实际上库.aar可以在本地的maven仓库下使用。

第二个项目是一个使用Gradle的“android”插件的Android应用程序,它引用了第一个项目生成的库的maven依赖项。 这里是build.gradle的一个片段:

 repositories { mavenLocal() mavenCentral() } dependencies { compile 'com.android.support:support-v4:18.0.0' compile 'com.example:cool-lib:1.0.0-SNAPSHOT' } 

注:这两个项目是完全分开的。 这意味着,它们不是同一个根项目的子项目。

当我尝试通过运行gradle assemble构build第二个项目时

我得到以下错误:

 Could not find com.google.android:support-v4:r18. Required by: com.example:app-project:unspecified > com.example:cool-lib:1.0.0-SNAPSHOT 

我检查了我的本地maven回购文件夹下的cool-lib.pom文件,我发现它具有以下依赖关系:

 <dependency> <groupId>com.android.support</groupId> <artifactId>support-v4</artifactId> <version>18.0.0</version> <scope>compile</scope> </dependency> 

出于某种原因,Gradle试图从maven中央资源库获取lib-project支持库-v4 r18 ,而不是从Android Support Repository获取 。 由于support-library-v4的 Maven Central的最新版本是r7 ,所以失败了。

有没有一种方法可以强制Gradle严格从Android支持知识库中获取support-library-v4 r18以及从Maven Central引用的外部Android库?

Solutions Collecting From Web of "Android Gradle构build失败:无法findcom.google.android:support-v4:r18"

您需要从SDKpipe理器安装Android Support Repository 。 之后,Gradle将能够parsing${SDK_HOME}\extras\android\m2repository\支持库。

确保你的主项目文件夹中有local.properties文件,而sdk.dirvariables指向Android SDK。 (在Mac上testing)

madhead说,你需要安装Android Support Repository。 但在我的情况下,这是缺席。 你应该去工具 – >pipe理加载项网站…并检查所有“谷歌公司” 站点。 然后,Android支持信息库将出现在软件包列表中,您可以安装它。

请参阅: https : //github.com/simpligility/maven-android-sdk-deployer

下载完全支持库