首页 文章

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

提问于
浏览
83

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

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

但是,在编译时,我收到Gradle错误:无法找到类

有任何想法吗?

5 回答

  • 3

    从版本0.8.9开始,Android Studio默认支持Maven Central Repository . 因此,要添加外部maven依赖项,您需要做的就是编辑模块的build.gradle文件,并在依赖项部分中插入一行,如下所示:

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

    您将看到一条消息显示为“立即同步...” - 单击它并等待maven repo与其所有依赖项一起下载 . 底部的状态栏中会显示一些消息,告诉您下载的情况 . 完成此操作后,导入的JAR文件及其依赖项将列在项目浏览器窗口的外部存储库树中,如下所示 .

    enter image description here

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

  • 77

    我使用springframework android工件作为示例

    打开build.gradle

    然后在与 apply plugin: '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应该在“外部库”下显示jar及其依赖项,如果它没有显示尝试重新启动IDE(这在我身上发生了很多)

    这是您提供的有效的示例

    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 
        } 
    }
    
  • 5

    Android Studio 3

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

    repositories {
        google()
        jcenter()
    }
    

    因此,只要开发人员拥有他们的Maven存储库(Picasso所做的那样),那么您只需要在应用程序的build.gradle文件的依赖项部分添加一行 .

    dependencies {
        // ...
        implementation 'com.squareup.picasso:picasso:2.5.2'
    }
    
  • 64
    • 在文件>设置> Gradle>全局Gradle设置中取消选中"Offline work"

    • 重新同步项目,例如重新启动Android Studio

    • 同步后,您可以再次选中该选项以脱机工作 .

  • 0

    试试 itext . 从 build.gradle 添加依赖关系以获取此帖子的最新信息

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

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

相关问题