【问题标题】:Add java library to Android Studio project with maven repository使用 maven 存储库将 java 库添加到 Android Studio 项目
【发布时间】:2014-03-28 03:14:15
【问题描述】:

我想在我的 android 项目中尝试这个 library。我正在使用 Android Studio 0.4.6

README.markdown 文件告诉我将其插入 pom.xml

<!-- in the 'repositories' section -->
<repository>
  <id>keytwo.net</id>
  <name>Keytwo.net Repository</name>
  <url>http://audiobox.keytwo.net</url>
</repository>

<!-- in the 'dependencies' section -->
<dependency>
  <groupId>io.socket</groupId>
  <artifactId>socket.io-client</artifactId>
  <version>0.2.1</version> <!-- the desidered version -->
</dependency>

问题是我没有任何pom.xml。我在我的项目根目录中创建了一个并同步了 gradle 设置,但它什么也没做。到目前为止,我只使用了已经编译好的 .jar 文件或者使用了 gradle compile 函数。

如何在我的项目中使用这个库?

【问题讨论】:

    标签: java android maven gradle android-studio


    【解决方案1】:

    Android Studio 不使用 Maven 作为其构建器;它改用 Gradle。幸运的是,Gradle 可以使用 Maven 存储库来获取依赖项,因此只需将这些信息放入 pom 文件并以 Gradle 格式使用它。这些修改位于模块目录中的 build.gradle 文件中(而不是项目根目录中的构建文件)。

    首先,设置可以找到依赖项的存储库。

    repositories {
        maven { url 'http://audiobox.keytwo.net' }
    }
    

    然后通过将此行添加到您的 dependencies 块来添加依赖项本身:

    dependencies {
        ...
        compile 'io.socket:socket.io-client:0.2.1'
    }
    

    更新:
    来自 POM 文件:

    compile '<groupId>:<artifactId>:<version>'
    

    【讨论】:

    • @Scott Barta。那么,Maven 在 Android Studio 中的主要用途是什么?在什么情况下 Maven 是必须的选择?
    • @Halim 它不使用 Maven 作为构建器,但 Gradle 使用了一些零碎的东西,例如能够以 POM 格式下载依赖项,这就是它所指的。
    • 无法让它工作。它一直给我一个构建错误。自测试版以来,解决方案是否发生了变化?我现在使用的是 Android Studio 版本 1.2.1.1。
    • 我想添加this library,它显示错误:无法解决:org.pdfparse:pdfparse:1.0 implementation 'org.pdfparse:pdfparse:1.0'
    • 想要添加到这个 - 如果你复制一个 maven 依赖并将它直接粘贴到 Android Studio 中,它会自动为你转换它。示例:``` com.google.code.gsongson2.8.5 ``` 变成: `实施'com.google.code.gson:gson:2.8.5'`
    【解决方案2】:

    语法: 实施 'groupId:artifactId:version'

    如果这是您必须在 Android Studio 项目中导入的内容...

    // Maven : Add these dependecies to your pom.xml (java6+)
    // <dependency>
    //     <groupId>org.glassfish.jersey.core</groupId>
    //     <artifactId>jersey-client</artifactId>
    //     <version>2.8</version>
    // </dependency>
    // <dependency>
    //     <groupId>org.glassfish.jersey.media</groupId>
    //     <artifactId>jersey-media-json-jackson</artifactId>
    //     <version>2.8</version>
    // </dependency>

    然后翻译成这个……

    implementation 'org.glassfish.jersey.core:jersey-client:2.8'
    implementation 'org.glassfish.jersey.media:jersey-media-json-jackson:2.8'

    【讨论】:

      猜你喜欢
      • 2017-10-18
      • 2014-12-24
      • 2017-01-17
      • 2012-01-05
      • 2019-02-12
      • 2020-09-14
      • 2012-01-30
      • 2013-05-10
      • 2013-05-11
      相关资源
      最近更新 更多