如何在Android Studio / IntelliJ中导入Maven依赖项?

我已经使用Android Studio中的默认向导创build了一个新的Android项目。 编译,并将应用程序部署到我的设备。 一切都很好。

现在我想导入一个在Maven上可用的外部库。 ( http://square.github.io/picasso/ )。 我去了模块属性,并添加了一个Maven库。 它在依赖列表中正确显示。 另外,它显示在编辑器中,我可以在代码中正确使用它。

但是,在编译时,我得到一个Gradle错误:无法find类

有任何想法吗?

从版本0.8.9开始,Android Studio默认支持Maven Central Repository。 所以要添加一个外部的Maven依赖项,你只需要编辑这个模块的build.gradle文件,然后像下面这样插入一个依赖项部分:

dependencies { // Remote binary dependency compile 'net.schmizz:sshj:0.10.0' } 

您会看到一条消息,显示为“现在同步…” – 单击它,然后等待Maven回购以及所有依赖关系下载。 在底部的状态栏中会有一些消息,告诉你下载过程中发生了什么。 完成此操作后,导入的JAR文件及其依赖项将在Project Browser窗口的External Repositories树中列出,如下所示。

在这里输入图像说明

一些进一步的解释在这里: http : //developer.android.com/sdk/installing/studio-build.html

我使用springframework android artifact作为例子

打开build.gradle

然后在与apply插件相同的级别添加以下内容:“android”

 apply plugin: 'android' repositories { mavenCentral() } dependencies { compile group: 'org.springframework.android', name: 'spring-android-rest-template', version: '1.0.1.RELEASE' } 

你也可以使用这个符号为maven工件

 compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE' 

如果IDE没有显示尝试重新启动IDE,您的IDE应该在“外部库”下显示该jar及其依赖关系(这发生在我身上)

这里是你提供的例子

 buildscript { repositories { maven { url 'repo1.maven.org/maven2'; } } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android' repositories { mavenCentral() } dependencies { compile files('libs/android-support-v4.jar') compile group:'com.squareup.picasso', name:'picasso', version:'1.0.1' } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 14 targetSdkVersion 17 } } 
  1. 在File> Settings> Gradle> Global Gradle Settings中取消选中“Offline work”
  2. 重新同步项目,例如重新启动Android Studio
  3. 一旦同步,您可以再次检查该选项以脱机工作。

更新的答案

讨论Maven Central的答案已经过时,因为Android Studio现在使用JCenter作为默认的存储库中心。 你的项目的build.gradle文件应该是这样的:

 repositories { jcenter() } 

所以只要开发者在他们的Maven仓库中(Picasso),那么你所要做的就是将一行添加到应用程序build.gradle文件的依赖部分。

 dependencies { // ... compile 'com.squareup.picasso:picasso:2.5.2' } 

Android Studio 3.0

使用Android Studio 3.0,这看起来如下所示:

项目build.gradle

 repositories { google() jcenter() } 

应用程序build.gradle

 dependencies { // ... implementation 'com.squareup.picasso:picasso:2.5.2' } 

试试itext 。 添加依赖关系到你的build.gradle最新的这篇文章

注意:android的特殊版本,尾随“g”:

 dependencies { compile 'com.itextpdf:itextg:5.5.9' }