如何在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 } }
- 在File> Settings> Gradle> Global Gradle Settings中取消选中“Offline work”
- 重新同步项目,例如重新启动Android Studio
- 一旦同步,您可以再次检查该选项以脱机工作。
更新的答案
讨论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' }
- 从其他应用程序启动Facebook应用程序
- Android-错误:任务执行失败':app:transformClassesWithDexForRelease'
- Android Studio编辑器字体大小
- IOException:读取失败,套接字可能closures – Android 4.3上的蓝牙
- Android中的date和时间更改监听器?
- 如何将文件写入资产文件夹或在android的原始文件夹?
- admob得到广告回复。 ErrorCode:0无法加载广告:0
- 如何在Android Studio中使用adb通过WiFi进行debugging
- Android工作室错误“检测到不支持的模块:以下模块不支持编译”