在Android Studio中添加外部库


119

我想向我的Android应用程序添加外部库https://github.com/foursquare/foursquare-android-oauth(我使用Android Studio,lib作者提供的针对Eclipse的说明不适用于Android Studio)。

我试图用Maven做到这一点,所以我在File-> Project Structure-> Dependencies中添加了,com.foursquare:foursquare-android-nativeoauth-lib:1.0.0但是Gradle Sync失败了:

Error:Failed to find: com.foursquare:foursquare-android-nativeoauth-lib:1.0.0

当我尝试构建我的应用程序时(由于无法解决以上错误,我不知道如何解决),我得到:

Error:A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
> Could not resolve com.foursquare:foursquare-android-nativeoauth-lib:1.0.0.
 Required by:
    ForSquaresOnly:app:unspecified
   > Could not parse POM http://jcenter.bintray.com/com/foursquare/foursquare-android-nativeoauth-lib/1.0.0/foursquare-android-nativeoauth-lib-1.0.0.pom
     > Could not find any version that matches com.foursquare:parent:1.0.0.

还有其他导入此库的方法吗?我可以简单地将源代码复制粘贴到我的源代码中,或从中创建JAR吗?

顺便说一句:如果您遇到问题,请参阅此问题(导入后出现此问题):清单合并失败:uses-sdk:minSdkVersion 14


Answers:


96

试试这个:

File> Project Structure> Dependencies Tab> Add module dependencyscope = compile

其中模块依赖项是项目库Android文件夹。


2
我通过经验和检查知道了...。但是有可用的文档:developer.android.com/sdk/installing/studio-build.html
malcubierre 2014年

26
没有复制怎么办?该库供其他非Android项目使用,并会定期更新。如果它复制了源,则将看不到对原始文件的更改。这不是愚蠢的吗?
Brian Reinhold

1
项目结构选项在哪里?
zulkarnain shah

2
找到ass模块的依赖项,但随后出现对话框“选择模块\ n选择当前模块应依赖的模块:\ n不显示任何内容\ n [确定] [取消]”。无法选择下载的库。
David162795 '18

1
我以这种方式添加了外部库,并收到错误消息“无法解析':app @ buildTypeUnitTest / compileClasspath'的依赖关系:无法解析项目:zip_file。” 依赖生成的代码是`实现项目(':zip_file')`。另外,我正在使用'com.android.tools.build:gradle:3.2.0-rc03'和https \://services.gradle.org/distributions/gradle-4.6-all.zip
Nikola

208

请尝试以下方法之一:

方法1)

1-选择项目视图

在此处输入图片说明

2-在应用程序-> lib文件夹中复制您的JAR文件

在此处输入图片说明

3-右键单击您的JAR文件,然后选择添加为库

在此处输入图片说明 在此处输入图片说明

4-在build.gradle中检查

在此处输入图片说明


方法2)

1-文件->新建->新模块

在此处输入图片说明

2-导入.JAR / .AAR包

在此处输入图片说明

3-浏览您的JAR文件

在此处输入图片说明

4-完成

5-文件->项目结构->依赖关系

在此处输入图片说明

6-您应该单击+按钮,然后单击模块依赖关系

在此处输入图片说明

7-您将在这里看到您的图书馆

在此处输入图片说明

8-选择您的图书馆,然后单击确定

在此处输入图片说明

9-然后,您将看到已添加库。

在此处输入图片说明


对于前两种方法,您需要一个JAR文件。您可以搜索http://search.maven.org/来查找与Android相关的JAR文件。例如,这是此链接中jdom的搜索结果

搜寻结果:jdom


方法3) Android使用http://jcenter.bintray.com/作为远程库。例如,这是链接中jdom的搜索结果。

jcenter jdom

要以这种方式添加库,请按照以下步骤操作:

1-文件->项目结构->依赖关系

在此处输入图片说明

2-单击+按钮并选择库依赖

在此处输入图片说明 在此处输入图片说明

3-找到您的媒体库并选择它,然后单击“确定”。


希望对您有所帮助。


13
所有堆栈溢出的最佳答案
mizerablebr '16

1
很高兴您发现我的回答很有用。非常感谢您的反馈。
穆罕默德

1
方法2对我有用。感谢您的插图:)
Hichem Acher

1
不客气 我很高兴这篇文章对您有所帮助。
Mohammad

非常感谢!!
Vinoth Vino

28

要引用不带副本的外部lib项目,只需执行以下操作:-在上插入以下两行setting.gradle

  include ':your-lib-name'
  project(':your-lib-name').projectDir = new File('/path-to-your-lib/your-lib-name)

build.gradle文件的依赖项部分上插入以下行:

compile project(':your-lib-name')

同步项目


1
很好的答案,创建一个到原始库的链接,这样,只要库代码发生更改,您就不必重新导入!
diman

21

如果一种方法不起作用,有两种最简单的方法,请尝试另一种方法。

  1. 在依赖库里面添加库的依赖库 build.gradle正在使用的库文件的,然后将库粘贴到“外部库”中。

要么

  1. 只需转到libs文件夹内的app文件夹,然后将所有您的.jar例如库文件粘贴到该文件夹中,现在的窍门是,现在进入settings.gradle文件中,include ':app:libs'include ':app'肯定可以使用之后添加此行。

19

还有其他导入此库的方法吗?我可以简单地将源代码复制粘贴到我的源代码中,或从中创建JAR吗?

在Android Studio 1.1中导入库的完整步骤

  1. 转到文件->导入模块。
  2. 源目录->浏览项目路径。
  3. 指定模块名称
  4. 打开build.gradle(Module:app)文件
  5. 在下面的行中添加模块名称

    编译项目(':internal_project_name')

摘自:如何在Android Studio中添加库


8

我也曾经面对过这个问题。那时我遵循一些步骤,例如:

  1. File> New> Import module> select your library_project。然后include 'library_project'将添加到settings.gradle文件中。

  2. File> Project Structure> App> Dependencies Tab> select library_project。如果library_project未显示,则单击+按钮,然后选择library_project

  3. 清理并构建您的项目。以下行将添加到您的应用模块中build.gradle提示:这不是在其中classpath定义的行)。

 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile project(':library_project')
 }
  1. 如果这些行不存在,则必须手动添加它们,然后再次清理并重建项目(Ctrl + F9)。

  2. library_project将在您的应用程序文件夹中创建一个名为的文件夹。

  3. 如果创建任何图标或任务合并错误,请转到AndroidManifest文件并添加<application tools:replace="icon,label,theme">


7

答案较晚,尽管我想对这个问题进行深入的回答。此方法适用于Android Studio 1.0.0及更高版本。

脚步

  1. 首先将文件夹结构从Android切换到Project

在此处输入图片说明

  1. 现在搜索app内的libs文件夹-build文件夹。

在此处输入图片说明

  1. 将.jar文件粘贴到libs文件夹后。右键单击jar文件,最后单击“ 添加为库”。这将有助于在build.gradle中添加编译文件('libs / library_name.jar')[您不必在构建文件中手动输入此文件]。

在此处输入图片说明

现在,您可以开始在项目中使用该库了。


就我而言,在使用第一种方法时,我没有在列表中看到“添加为库”选项。但是第二个选项对我有用。但是我的问题是为什么在我的案例中没有显示“添加为库”选项
Abdul Waheed

非常有帮助谢谢!注意:更新android studio后,“添加为库”按钮不再位于列表的底部。现在距离底部约5号。
JFreeman

7

android studio中添加外部库的三种方式。

  1. 如果要在项目中添加libarary项目依赖项:

    答:在文件菜单中,单击新建,然后选择导入模块,选择您的库项目路径,然后单击确定,库项目会自动添加到您的android studio项目中。

    B.现在打开您的主模块(如app)gradle文件,并在依赖项部分的依赖项中添加项目依赖项{

    编译项目(':library project name')

  2. 如果要添加jar文件:A.在libs文件夹中添加jar文件。B.并添加依赖

    compile fileTree(dir:'libs',include:'* .jar')//从libs文件夹添加所有jar文件,如果要从libs添加特定的jar,请添加以下依赖项。

    编译文件('libs / abc.jar')

  3. 从url添加依赖关系(推荐)。喜欢

    编译'com.mcxiaoke.volley:library-aar:1.0.0'


vinod,您好,请您说明一下如何使用URL添加依赖项?另外,它是否可以是git URL,如果它发生更改,可以直接导入到我的项目中吗?我对这个开发有点
陌生,

嗨,
尼克希尔(

6

对于最简单的方法,请按照下列步骤操作

  1. 转到File-> New-> Import Module->choose library or project folder

  2. 添加库以包括settings.gradle文件中的部分并同步项目(此后,您可以看到在项目结构中添加了具有库名的新文件夹)

    include ':mylibraryName'

  3. 转到文件->项目结构->应用程序->依赖项选项卡->单击加号按钮

  4. 选择模块依赖项->选择库(您的库名称应出现在此处)并放置作用域(编译或实现)

  5. 在依赖项部分的应用程序级别模块的build.gradle中添加此行

    implementation project(':mylibraryName')


3

如果您需要的库位于GitHub上,则可以使用JitPack轻松将其添加到Android Studio中。

步骤1.将jitpack存储库添加到build.gradle:

allprojects { 
  repositories {
    jcenter()
    maven { url "https://jitpack.io" }
  }
}

步骤2.将GitHub存储库添加为依赖项:

dependencies {
    // ...
    compile 'com.github.Username:LibraryRepo:ReleaseTag'
}

JitPack充当Maven仓库,可以像Maven Central一样使用。令人高兴的是,维护人员不必上载库。在后台,JitPack将从GitHub检出代码并进行编译。因此,要使其正常工作,需要在git存储库中有一个有效的构建文件。

还有一个有关如何发布Android库的指南。


这不是要在项目树中存储依赖文件吗?
user7860670

2

Android studio不使用Maven,而是使用Gradle,您可以打开build.gradle以下路径:/app/build.gradle并添加显示在仓库中的Gradle依赖项:

build.gradle有一个dependencies部分:

dependencies {
    //here add your dependency
}

该仓库说您需要添加此依赖项:

compile 'com.foursquare:foursquare-android-oauth:1.0.3'

仅将该行添加到dependencieson buil.gradle,保存文件,然后android会重建项目,仅此而已


1
1.Goto File -> New -> Import Module
   2.Source Directory -> Browse the project path.
   3.Specify the Module Name  it is used for internal project reference.

打开build.gradle(Module:app)文件。

 implementation project(':library')

1

通过此网站将任何github项目转换为单行gradle实现

https://jitpack.io/

例如,我需要这个项目: https //github.com/mik3y/usb-serial-for-android

我所做的就是将其粘贴到我的gradle文件中:

implementation 'com.github.mik3y:usb-serial-for-android:master-SNAPSHOT'

你救了我!:) 谢谢,非常感谢。您说的招很简单!:在我看到你的答案之前,我奋斗了近4个小时!:)
维克多

0

我有同样的问题。这是由于核心库依赖性而发生的。我正在使用javax。*。这是我所做的修复

在“文件”->“项目结构”->“依赖项”中,将其作为提供的文件(而不是编译文件)添加。然后重新构建项目。

升级android studio后开始出现此问题。但是我认为当您尝试手动编辑生成文件时会发生这种情况。


0

Android Studio 2.1中添加

Just Go to project -> then it has some android,package ,test ,project view

只需将其更改为项目视图

在下, app->lib folder您可以直接复制粘贴lib并进行android同步。而已


复制粘贴lib?它是github存储库的网址
Odys

0

1)只需从这里http://search.maven.org/获取您的lib

2)在应用程序目录中创建一个libs文件夹

3)在那里粘贴你的图书馆

4)右键单击您的库,然后单击“添加为库”

5)那就是你需要做的!

我希望这一定会对您有所帮助!!!!


0

新gradle 4.1中有一些更改

而不是编译,我们应该使用实现

实施'com.android.support:appcompat-v7:26.0.0'


-1
  1. 在项目的build.gradle的存储库部分中,添加以下内容:
flatDir { dirs 'aars' } 
  1. 在build.gradle的依赖项部分中,添加以下内容:

编译'[group id]:[artifact id]:[version] @aar'

用各种lib属性替换[group id]等

  1. aars在您的项目目录下创建一个子目录

  2. 将复制[youlibrary].aar到上面3.中创建的子目录。

  3. 建立并享受!


-2

在ANDROID STUDIO中添加任何库的简单步骤:

  1. 从计算机中的任何文件夹(例如C:/documents/xyz.jar“)复制有问题的文件,然后转到Android Studio并右键单击“项目库”文件夹,然后选择粘贴。

  2. 现在,右键单击新添加的库文件,然后选择“添加为库”选项

完成

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.