Android 스튜디오에 외부 라이브러리 추가


119

내 Android 애플리케이션 에 외부 라이브러리 https://github.com/foursquare/foursquare-android-oauth 를 추가하고 싶습니다 (Android Studio를 사용하고 Eclipse 용 lib 작성자가 제공 한 지침이 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.

이 lib를 가져 오는 다른 방법이 있습니까? 소스 코드를 내 소스에 복사하여 붙여 넣거나 JAR을 만들 수 있습니까?

BTW : 문제가 발생하면이 질문을 참조하십시오 (가져온 후이 문제가 발생했습니다) : Manifest merger failed : uses-sdk : minSdkVersion 14


1
이것은 당신에게 도움이 될 것입니다 stackoverflow.com/questions/16588064/... androidsx.com/...
jackgris

답변:


96

이 시도:

File> Project Structure> Dependencies Tab> Add module dependency( scope = 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

1
이 방법으로 외부 라이브러리를 추가했고 " ': app @ buildTypeUnitTest / compileClasspath'에 대한 종속성을 해결할 수 없습니다 : 프로젝트 : zip_file을 해결할 수 없습니다."라는 오류가 발생했습니다. 의존성에서 생성 된 코드는`implementation project ( ': zip_file')`입니다. 또한 'com.android.tools.build:gradle:3.2.0-rc03'및 https \ : //services.gradle.org/distributions/gradle-4.6-all.zip
Nikola

209

다음 접근 방식 중 하나를 시도하십시오.

접근 방식 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

1
제 답변이 유용하다는 것을 알게되어 기쁩니다. 귀하의 의견에 감사드립니다.
Mohammad

1
Approche 2가 저에게 효과적입니다. 삽화 주셔서 감사합니다 :)
Hichem Acher

1
당신은 매우 환영합니다. 이 게시물이 도움이되어 기쁩니다.
Mohammad

1
내 안드로이드 스튜디오 3.0.1에서 3 단계에서 라이브러리 옵션으로 추가하지 않습니다
Shylendra Madda

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

이 lib를 가져 오는 다른 방법이 있습니까? 소스 코드를 내 소스에 복사하여 붙여 넣거나 JAR을 만들 수 있습니까?

Android Studio 1.1에서 라이브러리를 가져 오는 전체 단계

  1. 파일로 이동-> 모듈 가져 오기.
  2. 소스 디렉토리-> 프로젝트 경로를 찾습니다.
  3. 모듈 이름 지정
  4. build.gradle (Module : app) 파일 열기
  5. 모듈 이름과 함께 다음 줄을 추가하십시오.

    프로젝트 컴파일 ( ': internal_project_name')

출처 : Android Studio에서 라이브러리를 추가하는 방법


8

이 질문에 대한 심도있는 답변을 생각했지만 늦은 답변입니다. 이 방법은 Android Studio 1.0.0 이상에 적합합니다.

단계

  1. 먼저 Android에서 Project로 폴더 구조를 전환합니다 .

여기에 이미지 설명 입력

  1. 이제 app-build folder 에서 libs 폴더를 검색하십시오 .

여기에 이미지 설명 입력

  1. libs 폴더에 .jar 파일을 붙여 넣으면. jar 파일을 마우스 오른쪽 버튼으로 클릭하고 마지막에 Add as library를 클릭 합니다 . 이것은 build.gradle에 컴파일 파일 ( 'libs / library_name.jar')을 추가합니다. [빌드 파일에 수동으로 입력 할 필요가 없습니다].

여기에 이미지 설명 입력

이제 프로젝트에서 라이브러리 사용을 시작할 수 있습니다.


제 경우에는 첫 번째 접근 방식을 사용하는 동안 목록에 라이브러리로 추가 옵션이 표시되지 않았지만 두 번째 옵션이 저에게 효과적이었습니다. 라이브러리 옵션으로 추가 내 경우에 표시되지 않은 이유를하지만 내 질문은
압둘 와히드

매우 도움이되었습니다. 감사합니다! 참고 : Android 스튜디오를 업데이트 한 후 "라이브러리로 추가"버튼이 더 이상 목록 맨 아래에 표시되지 않습니다. 이제 바닥에서 약 5 번째입니다.
JFreeman

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. 프로젝트에 libarary 프로젝트 종속성을 추가하려면 다음을 수행하십시오.

    A. 파일 메뉴에서 새로 만들기를 클릭하고 모듈 가져 오기를 선택하고 라이브러리 프로젝트 경로를 선택하고 확인을 클릭하면 라이브러리 프로젝트가 자동으로 Android 스튜디오 프로젝트에 추가됩니다.

    B. 이제 메인 모듈 (앱과 같은) gradle 파일을 열고 종속성 섹션 종속성 {

    프로젝트 컴파일 ( ': 라이브러리 프로젝트 이름')

  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 일 수 있습니까? 이 : 간단한 질문의 경우이 개발 그래서 나와 함께 곰하시기 바랍니다에 좀 새로운 해요
Katakam Nikhil

안녕하세요 Nikhil
제가

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 단계. build.gradle에 jitpack 저장소를 추가합니다.

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

안드로이드 스튜디오는 사용하지 않는 Maven것이 사용, Gradle당신이 열 수 build.gradle:해야 경로를 /app/build.gradle하고 REPO에 쇼하는 Gradle을 종속성을 추가 :

build.gradledependencies섹션 :

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 시간 동안 고군분투했습니다! :)
Victor

0

나는 같은 문제가 있었다. 이는 핵심 라이브러리 종속성으로 인해 발생했습니다. 나는 javax. *를 사용하고있었습니다. 이것이 내가 고치기 위해 한 일입니다.

File-> Project Structure-> Dependencies에서 컴파일이 아닌 제공된 파일로 추가했습니다. 그런 다음 프로젝트를 다시 빌드하십시오.

이 문제는 안드로이드 스튜디오 업그레이드 후 시작되었습니다. 하지만 수동으로 빌드 파일을 편집하려고 할 때 발생한다고 생각합니다.


0

추가 라이브러리 에서 안드로이드 스튜디오 2.1

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

프로젝트보기로 변경하십시오.

아래에서 app->lib folderlib를 직접 복사하여 Android에서 동기화 할 수 있습니다. 그게 다야


lib를 복사하여 붙여 넣으시겠습니까? github 저장소에 대한 URL
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의 종속성 섹션에 다음을 추가하십시오.

'[그룹 ID] : [아티팩트 ID] : [버전] @aar'컴파일

[group id] 등을 다양한 lib 속성으로 대체

  1. aars프로젝트 디렉토리 아래에 하위 디렉토리를 만듭니다.

  2. [youlibrary].aar위의 3.에서 생성 한 하위 디렉토리에를 복사합니다 .

  3. 빌드하고 즐기십시오!


-2

ANDROID STUDIO에 라이브러리를 추가하는 간단한 단계 :

  1. 컴퓨터의 폴더 (예 : C : /documents/xyz.jar ")에서 문제의 파일을 복사 한 다음 Android Studio로 이동하여 프로젝트 라이브러리 폴더를 마우스 오른쪽 버튼으로 클릭하고 붙여 넣기를 선택합니다.

  2. 이제 새로 추가 된 라이브러리 파일을 마우스 오른쪽 버튼으로 클릭하고 "라이브러리로 추가"옵션을 선택합니다.

끝난

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.