Android Studio에 라이브러리 프로젝트를 어떻게 추가합니까?


796

Android 프로젝트에 라이브러리 프로젝트 (예 : Sherlock ABS)를 추가하려면 어떻게합니까 ?

(이전 ADT Eclipse 기반 번들이 아니라 새로운 Android Studio에 적용 됩니다.)


28
그래, 이것을 알아내는 것은 예전보다 더 혼란 스러웠습니다.
Daniel Smith

4
YouTube 비디오 에서 Android Studio에 라이브러리를 추가하는 방법 이 프로세스를 설명합니다.

2
를 사용하는 Gradle경우이 StackOverflow 답변을 참조하십시오 .
크레인

2
여기 제가 정말 유용하다고 생각한
Simon

답변:


718

Android Studio 1.0 업데이트

Android Studio 1.0 (및 v1.0과 이전 답변 당시의 첫 번째 버전 중 많은 버전)이 출시 된 이후 몇 가지 사항이 변경되었습니다.

내 설명은 Gradle 파일을 통해 수동으로 외부 라이브러리 프로젝트를 추가하는 데 중점을 둡니다 (프로세스를 더 잘 이해하기 위해). Android Studio 제작자를 통해 라이브러리를 추가하려면 시각적 가이드를 사용하여 아래 답변을 확인 하십시오 (Android Studio 1.0과 스크린 샷의 차이점은 있지만 프로세스는 매우 유사합니다).

라이브러리를 직접 프로젝트에 추가하기 전에 외부 종속성을 추가하십시오. 프로젝트 구조가 엉망이되지 않습니다. 거의 모든 잘 알려진 Android 라이브러리는 Maven 저장소 에서 사용할 수 있으며 설치시 app/build.gradle파일 에서 한 줄의 코드 만 사용 합니다.

dependencies {
     compile 'com.jakewharton:butterknife:6.0.0'
}

라이브러리 추가

프로젝트에 외부 Android 라이브러리를 추가하는 전체 프로세스는 다음과 같습니다.

  1. Android Studio 제작자를 통해 새 프로젝트를 만듭니다. 이름을 HelloWorld로 지정했습니다 .
  2. 다음은 Android Studio에서 만든 원래 프로젝트 구조입니다.
HelloWorld/
      app/
           - build.gradle  // local Gradle configuration (for app only)
           ...
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ...
  1. 루트 디렉토리 ( HelloWorld/)에서 새 폴더를 만듭니다. 여기 /libs에 외부 라이브러리를 배치합니다 (이 단계는 필요하지 않습니다. 더 깔끔한 프로젝트 구조를 유지하기 위해).
  2. 라이브러리를 새로 만든 /libs폴더 에 붙여 넣습니다 . 이 예제에서는 PagerSlidingTabStrip 라이브러리를 사용 했습니다 (GitHub에서 ZIP을 다운로드하고 라이브러리 디렉토리의 이름을 "PagerSlidingTabStrip"으로 바꾸고 복사하십시오). 프로젝트의 새로운 구조는 다음과 같습니다.
HelloWorld/
      app/
           - build.gradle  // Local Gradle configuration (for app only)
           ...
      libs/
           PagerSlidingTabStrip/
                - build.gradle // Local Gradle configuration (for library only)
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ...
  1. 에 라이브러리를 추가하여 settings.gradle을 편집하십시오 include. 내가했던 것처럼 사용자 정의 경로를 사용하는 경우 라이브러리의 프로젝트 디렉토리도 정의해야합니다. 전체 settings.gradle은 다음과 같습니다.

    include ':app', ':PagerSlidingTabStrip'
    project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip')

5.1 "기본 구성"오류가 발생하면 5 단계 대신이를 시도하십시오.

    include ':app'
    include ':libs:PagerSlidingTabStrip'
  1. 에서 것은 app/build.gradle종속성으로 도서관 프로젝트를 추가 :

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
        compile project(":PagerSlidingTabStrip")
    }

6.1. 5.1 단계를 따른 경우 6 대신이 단계를 따르십시오.

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'

        compile project(":libs:PagerSlidingTabStrip")
    }
  1. 라이브러리 프로젝트에 build.gradle파일 이 없으면 수동으로 작성해야합니다. 해당 파일의 예는 다음과 같습니다.

        apply plugin: 'com.android.library'
    
        dependencies {
            compile 'com.android.support:support-v4:21.0.3'
        }
    
        android {
            compileSdkVersion 21
            buildToolsVersion "21.1.2"
    
            defaultConfig {
                minSdkVersion 14
                targetSdkVersion 21
            }
    
            sourceSets {
                main {
                    manifest.srcFile 'AndroidManifest.xml'
                    java.srcDirs = ['src']
                    res.srcDirs = ['res']
                }
            }
        }
  2. 또한 프로젝트의 전역 구성을 만들어 SDK 버전을 포함하고 일관성을 유지하기 위해 모든 모듈에 대한 도구 버전을 빌드 할 수 있습니다. gradle.properties파일을 편집 하고 행을 추가하십시오.

    ANDROID_BUILD_MIN_SDK_VERSION=14
    ANDROID_BUILD_TARGET_SDK_VERSION=21
    ANDROID_BUILD_TOOLS_VERSION=21.1.3
    ANDROID_BUILD_SDK_VERSION=21

    이제 build.gradle아래와 같이 파일 (앱 및 라이브러리 모듈)에서 사용할 수 있습니다.

    //...
    android {
        compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
        buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
    
        defaultConfig {
            minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
            targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
        }
    }
    //...
  3. 그게 다야. 클릭하면 프로젝트가 Gradle 아이콘과 동기화됩니다 Gradle과 동기화. 프로젝트에서 라이브러리를 사용할 수 있어야합니다.

Google I / O 2013-새로운 Android SDK 빌드 시스템 은 Gradle Build System을 사용하여 Android 앱을 빌드하는 방법에 대한 훌륭한 프레젠테이션입니다.

Android Studio는 편집, 디버깅 및 프로파일 링에 관한 것입니다. 더 이상 건축하는 것이 아닙니다.

처음에는 약간 혼란 스러울 수 있습니다 (특히 Eclipse 와 함께 일하고 개미를 본 적이없는 사람들에게는 ).하지만 결국 Gradle은 우리에게 훌륭한 기회를 제공 하며이 빌드 시스템을 배울 가치가 있습니다.


6
이봐, 당신은 진짜 문제를 완벽하게 설명했다. 다른 사람들이 볼 수 있도록 답변을 투표하십시오. 내 측면에서 효과가 없었던 한 가지 사소한 일은 종속성의 build.gradle에서 지원 라이브러리를 참조하는 것입니다. ': Project / libs ...'가 어떤 이유로 작동하지 않는 것으로 나타났습니다. 나는 프로젝트 식별을 없애야했다. 그래서 'libs / ...'. 그리고 잘 컴파일되었습니다. 한 가지 참고 사항은 경로 또는 프로젝트를 참조하는이 두 가지 방법이 혼란 스럽다는 것입니다. 앞으로 간단하고 통일 된 계획이 세워지기를 바랍니다. 원래 솔루션이 작동하지 않는 이유는 없습니다.
빅터 n.

9
+1. 오랫동안 이것으로 어려움을 겪고있었습니다. 으로 빅터 n은 말했다 ActionBarSherlock의 모듈에서 주요 프로젝트의 지원 단지를 참조하면 작동하지 않습니다. 나는 그것을 작동시키기 위해 다음을 수행해야했다 ... (1) 프로젝트의 build.gradle에서 컴파일 파일 ( 'libs / android-support-v4.jar')을 제거하십시오. 메인 모듈에는 컴파일 프로젝트 ( ": libraries : actionbarsherlock") 만 있어야 합니다. (2) actionbarsherlock의 build.gradle 에서 컴파일 파일 ( ': HelloWorld / libs / android-support-v4.jar') 대신 컴파일 파일 ( 'libs / android-support-v4.jar') 을 추가하십시오.
Akbar ibrahim

3
어디에 있습니까 Global libraries(# 10 : "현재 글로벌 라이브러리로 이동")? 그 외에는 설명대로 작동합니다 :) 정말 감사합니다. (Google이이를 이해하기를 바랍니다. 이러한 간단한 작업은 현재 매우 복잡합니다.)
Konrad Morawski

8
왜 당신이 우리를 지시하는 옵션에 "모듈 가져 오기"섹션이 없습니까? Android Studio 0.3.1을 사용하고 있습니다
alicanbatur

5
모듈 가져 오기 옵션이 없습니다 !!
amalBit

274

비주얼 가이드는 다음과 같습니다.

Android Studio 0.8.2 업데이트 :

Android Studio 0.8.2 에서 모듈 아래의 프로젝트 구조 -> 로 이동 하면 더하기 버튼을 누르고 기존 프로젝트 가져 오기 및 가져 오기를 선택하십시오 . 그런 다음 Gradle 파일을 동기화하십시오.actionbarsherlock

오류가 발생하면

오류 : SDK 빌드 도구 개정판 (xx.xx)이 너무 낮습니다. 필요한 최소값은 yy.yy입니다.

디렉토리 에서 build.gradle파일을 열고 제안 된 파일로 actionbarsherlock업데이트하십시오 buildToolsVersion.

android {
  compileSdkVersion 19
  buildToolsVersion 'yy.y.y'

안드로이드 스튜디오 0.8.2


메뉴 파일 -> 프로젝트 구조 ... :

먼저

모듈 -> 가져 오기 모듈

둘째

라이브러리 모듈을 가져온 후, 선택 하여 프로젝트 모듈과 종속성을 추가 :

제삼

그런 다음 가져온 모듈 을 선택하십시오 .

앞으로


31
Android Studio4.3에서 모듈 가져 오기 옵션을 사용할 수 없음
amalBit

3
이 작업을 수행하고 패키지를 찾을 수 없음 오류를 해결하기위한 열쇠는 단계였습니다.Select your project module and add dependency dependencies { // ... compile project(':library') }
toobsco42

7
이것은 프로젝트의 라이브러리 모듈을 복사합니다. 이것은 여러 프로젝트간에 공유되는 공통 코드베이스를 원한다면 원하지 않습니다
Rémy DAVID

@amalBit ... 미래에 왔습니까? 그러나 진지하게, 그들은 이클립스 ADT 에서처럼 이것을 단순하게 만들어야한다. 누가 타사 리포지토리를 치고 임의의 코드를 각 빌드에 컴파일하려고합니까? 이는 QA 및 코드 동결 프로토콜을 심각하게 약화
시킵니다

안드로이드 스튜디오 0.4.3의 베타 기간 동안 돌아 왔습니다. 액세스 타사 리포지토리에 대해서는 +를 사용하지 마십시오. 원하는 버전을 지정하십시오. 여전히 충분히 신뢰할 수 없다면 어떤 저장소의 jar (또는 복제)를 만들어 사용할 수 있습니다.
amalBit

111

메뉴 파일 -> 프로젝트 구조 -> 모듈을 사용하십시오 .

나는 오늘 그것을 사용하기 시작했다. 조금 다릅니다.

Sherlock의 경우 테스트 디렉토리를 삭제하거나 junit.jar파일을 클래스 경로에 추가 할 수 있습니다.

gradle을 사용하여 라이브러리를 가져 오려면 (모듈의) dependencies섹션에 라이브러리를 추가해야합니다 build.gradle.

예 :

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.1.0'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
}

Android Studio가 변화하고 있습니다.

Android Studio의 프로젝트 섹션에서 모듈 폴더를 마우스 오른쪽 버튼으로 클릭하면 "모듈 설정 열기"라는 섹션이 있습니다 (버전 0.2.10을 사용하고 있습니다).


1
흠 그것은 여전히 ​​android-apt-compiler : styles.xml : 5 : error : 항목에 대한 부모 검색 오류 : 주어진 이름 'Theme.Sherlock.Light.DarkActionBar'와 일치하는 리소스를 찾을 수 없습니다.
Alexander Kulyakhtin

셜록 모듈에서 -> Dependecies 나는이 4.2.2 안드로이드와 지원 라이브러리 V4
Blackbelt

@ ρяσѕρєяK 실행 버튼 옆에는 Android 레이블이 있습니다. 거기를 클릭하면 구성 편집이 나타납니다. 민은 "선택기 DIALG"에서 대상 장치를 클릭 아래
Blackbelt

7
안녕하세요, Alex와 같은 문제가 있습니다 ( "Gradle : 항목의 상위 검색 오류 : 주어진 이름 'Theme.Sherlock.Light'와 일치하는 리소스를 찾을 수 없습니다.")-Java 종속성이 올바르게 해결 된 것 같습니다. IDE는 SherlockActivity를 비난하지 않지만 어떤 이유로 Gradle은 ABS의 리소스를 조사하지 않는 것 같습니다. 어떤 아이디어?
물고기

4
Android Studio 0.2.8 Modules에서는 Project Structure창에 섹션 이 없습니다 .
Konrad Morawski

52

종속성, Android 라이브러리 및 다중 프로젝트 설정에 필요한 독서를 고려할 것 입니다. 몇 분 정도 시간을 내십시오.

특히 JAR이 아닌 라이브러리 프로젝트의 경우 위 소스에서 다음 스 니펫을 읽으십시오.

Gradle 프로젝트는 다중 프로젝트 설정을 사용하여 다른 gradle 프로젝트에 의존 할 수도 있습니다. 다중 프로젝트 설정은 일반적으로 모든 프로젝트를 지정된 루트 프로젝트의 하위 폴더로 사용하여 작동합니다.

예를 들어 다음과 같은 구조가 주어집니다.

MyProject/
 + app/
 + libraries/
    + lib1/
    + lib2/

3 개의 프로젝트를 식별 할 수 있습니다. Gradle은 다음 이름으로 참조합니다.

:app
:libraries:lib1
:libraries:lib2

각 프로젝트에는 빌드 방법을 선언하는 자체 build.gradle이 있습니다. 또한 프로젝트를 선언하는 루트에 settings.gradle이라는 파일이 있습니다. 이것은 다음과 같은 구조를 제공합니다.

MyProject/
 | settings.gradle
 + app/
    | build.gradle
 + libraries/
    + lib1/
       | build.gradle
    + lib2/
       | build.gradle

settings.gradle의 내용은 매우 간단합니다.

include ':app', ':libraries:lib1', ':libraries:lib2'

이것은 실제로 Gradle 프로젝트 인 폴더를 정의합니다.

: app 프로젝트는 라이브러리에 의존 할 가능성이 높으며 다음과 같은 종속성을 선언하여 수행됩니다.

dependencies {
    compile project(':libraries:lib1')
}

이를 위해 Android Studio GUI를 거의 사용하지 않거나 전혀 사용하지 않았다는 점에 유의하십시오.

현재 git 서브 모듈 을 사용 하여 중첩 라이브러리를 실제 라이브러리 git repo에 연결하여 종속성 혼란을 피합니다.


매우 유용하고 더 중요한 것은 오늘의 징 기스를 연주하지 않는 것입니다.
RichieHH

1
말이되는 유일한 대답을 포함시켜 주셔서 대단히 감사합니다. 다른 모든 답변은 구식이며 작동하지 않습니다. 처음 2 년 동안 일식에서 클릭을 fckn하는 법을 배우기 때문에 Virginia Tech의 CS에서는 시도조차하지 않았습니다. 그것은 이해가되지 않았지만 IDE에서 임의 클릭 의 gradle 결과를 보는 것은 그렇게 합니다.
dcunited001

git 서브 모듈 팁에 감사드립니다. 나는 이전에 접합을 사용했지만 이제 SVN 외부로 전환했습니다. 매력처럼 작동합니다.
velis

25

방금 .gradle 파일에 직접 쓰는 것이 아니라 더 쉬운 방법을 찾았습니다.

Android Studio 1.1.0 용입니다.

  1. 메뉴 파일 -> 새 모듈 ... :

    기존 프로젝트 가져 오기

    "기존 프로젝트 가져 오기"를 클릭하십시오.

  2. 원하는 라이브러리와 원하는 모듈을 선택하십시오.

  3. 완료를 클릭하십시오. Android Studio는 라이브러리를 프로젝트로 가져옵니다. gradle 파일을 동기화합니다.

  4. 가져온 모듈을 프로젝트의 종속성에 추가하십시오.

    앱 폴더를 마우스 오른쪽 버튼으로 클릭-> 모듈 설정 열기-> 종속성 탭으로 이동-> '+'버튼 클릭-> 모듈 종속성을 클릭하십시오.

    그런 다음 라이브러리 모듈이 프로젝트의 종속성에 추가됩니다.

    라이브러리 모듈 추가

  5. ???

  6. 이익


17

외부 라이브러리 프로젝트를 포함하는 가장 쉬운 방법은 다음과 같습니다 (예 : dependencies 폴더에 하나의 디렉토리가 저장된 Facebook 라이브러리를 포함시키는 것).

  1. settings.gradle에서 추가

    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK')
  2. build.gradle dependencies 섹션에서

    compile project ('facebook')

남은 일은 프로젝트를 gradle 파일과 동기화하는 것입니다.


안녕 Vilen 설정 무엇 여기
Rajnish Mishra

안녕 Rajnish. 문서에서 : settingsDir 빌드의 설정 디렉토리를 리턴합니다. 설정 디렉토리는 설정 파일이 포함 된 디렉토리입니다. 설정 디렉토리. null을 반환하지 않습니다.
Vilen

당신의 대답은 저를 많이
도와줍니다

참고 : Gradle을에서 문자열 평가를 위해 당신은 큰 따옴표 ( ")를 사용해야합니다 나를 위해 일"저장에 링크 된이가. ".
Solata

15

JAR 파일을 라이브러리로 Android Studio 프로젝트에 추가하는 간단한 방법 :

a) * .jar 파일을 복사하십시오

b) 프로젝트 아래 의 libs 디렉토리에 붙여 넣습니다 .

여기에 이미지 설명을 입력하십시오

c) build.gradle에 추가하십시오.

dependencies {
    ...
    compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
}

b) 예제 com.example.MYProject 및 라이브러리 com.example.ScanAPI의 프로젝트가 동일한 네임 스페이스 com.example을 갖는 경우 Android Studio는 빌드를 확인하고 프로젝트에서 필요한 모든 변경 사항을 작성합니다. 그런 다음 메뉴 파일 -> 프로젝트 구조 에서 이러한 설정을 검토 할 수 있습니다 .

c) 프로젝트와 라이브러리에 다른 네임 스페이스가있는 경우 라이브러리 를 마우스 오른쪽 단추로 클릭하고 "라이브러리로 추가"옵션을 선택하고 필요한 유형을 선택해야합니다.

"프로젝트 구조"옵션은 현재 버전의 Android Studio (0.2.3)에서 "build.gradle"에서 자동 변경을 수행하지 않습니다. 이 기능은 다음 버전에서 제공 될 수 있습니다.


12

옵션 1 : 파일을 프로젝트의 libs / 디렉토리에 놓기

그러면 관련 build.gradle 파일이 자동으로 업데이트됩니다.

옵션 2 : build.gradle 파일을 수동으로 수정

build.gradle 파일을 열고 종속성 작성에 새 빌드 규칙을 추가하십시오. 예를 들어 Google Play 서비스를 추가하려는 경우 프로젝트의 종속성 섹션은 다음과 같습니다.

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.google.android.gms:play-services:6.5.+'
   }

옵션 3 : Android Studio의 사용자 인터페이스 사용

프로젝트 패널 Control에서 종속성을 추가하려는 모듈을 + 클릭하고 모듈 설정 열기를 선택하십시오.

여기에 이미지 설명을 입력하십시오

종속성 탭을 선택한 다음 왼쪽 하단에서 + 버튼을 선택하십시오. 다음 옵션 목록에서 선택할 수 있습니다.

  • 라이브러리 의존성
  • 파일 종속성
  • 모듈 의존성

그런 다음 프로젝트에 추가하려는 종속성에 대한 추가 정보를 입력 할 수 있습니다. 예를 들어 라이브러리 종속성을 선택하면 Android Studio에서 선택할 수있는 라이브러리 목록이 표시됩니다.

종속성을 추가 한 후에는 모듈 수준 build.gradle 파일을 확인하십시오. 새 종속성을 포함하도록 자동으로 업데이트되어야합니다.

출처


10

이것이 Android Studio 1.5 이상에서 작동하는 방식입니다

외부 라이브러리 프로젝트를 추가하려는 프로젝트에서 메뉴 파일 -> 새로 만들기 -> * 새 모듈 가져 오기 **로 이동하여 프로젝트에 추가하려는 라이브러리 프로젝트로 이동 한 다음 '라이브러리'모듈을 추가하도록 선택하십시오. 당신의 프로젝트. 프로젝트에서 앱, 포함 라이브러리 옆에 다음과 같은 settings.gradle 을 얻습니다 .

include ':app', ':library'

dependencies 섹션 에서 build.gradle (Module : app) 에 추가 하십시오.

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

프로젝트를 다시 빌드하십시오.

* 원하는만큼 라이브러리 (모듈)를 추가 할 수 있습니다. 이 경우 settings.gradle에는 다음이 있습니다.

 include ':app', ':lib1', ':lib2', ...

그리고 build.gradle에는 다음이 필요합니다.

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // Some other dependencies...

    compile project(':lib1')
    compile project(':lib2')
    ...
}

9

라이브러리 프로젝트의 리소스에 액세스해야하는 경우 (ABS와 마찬가지로) 라이브러리 프로젝트 / 모듈을 "라이브러리"대신 "모듈 종속성"으로 추가해야합니다.


9

당신은 이것을 쉽게 할 수 있습니다. 메뉴 파일 -> 새로 만들기 -> 모듈 가져 오기 ... :

여기에 이미지 설명을 입력하십시오

모듈이 들어있는 디렉토리를 찾으십시오. Finish를 클릭하십시오.

여기에 이미지 설명을 입력하십시오

프로젝트 구조로 이동하여 모듈 종속성을 추가하십시오 .

여기에 이미지 설명을 입력하십시오

참고 : SDK 오류가 발생하면 해당 오류를 업데이트하십시오.


1
내 생각에 가장 간단하고 빠른 방법은 여전히 ​​오늘날까지 작동했습니다!
mrj

8
  1. 를 눌러 프로젝트 구조F4 를 표시하고 라이브러리 또는 글로벌 라이브러리를 클릭 한 후 클릭 하여 JAR 파일을 추가하십시오.+
  2. jar 추가 할 모듈을 클릭하고 종속성 탭을 선택한 다음을 클릭 +하고 라이브러리를 추가 하십시오 .

6

GUI를 통한 라이브러리 종속성 편집은 해당 변경 사항을 build.gradle 파일에 기록하지 않으므로 권장되지 않습니다. 따라서 프로젝트는 명령 줄에서 빌드되지 않습니다. 다음과 같이 build.gradle 파일을 직접 편집해야합니다.

예를 들어 다음과 같은 구조가 주어집니다.

MyProject /

  • 앱/
  • 도서관 /
    • lib1 /
    • lib2 /

우리는 세 가지 프로젝트를 식별 할 수 있습니다. Gradle은 다음 이름으로 참조합니다.

  1. :앱
  2. : 라이브러리 : lib1
  3. : 라이브러리 : lib2

: app 프로젝트는 라이브러리에 의존 할 가능성이 높으며 다음과 같은 종속성을 선언하여 수행됩니다.

dependencies {
    compile project(':libraries:lib1')
}

정말? 이상하게도 GUI 전체가 있지만 권장되지는 않습니다. 어떻게 요?
Alexander Kulyakhtin

GUI를 통한 편집은 해당 변경 사항을 build.gradle 파일에 기록하지 않습니다. GUI 편집은 IntelliJ 자체 프로젝트 데이터의 변경 사항 만 저장합니다. 이것은 현재 릴리스에서 수정 될 버그입니다. 이 답변은 Google Android-Studio Team Lead stackoverflow.com/questions/16678447/…
Shakti Malik

5

답변에 추가하려면 : IDE에 오류가 표시되지 않지만 컴파일하려고하면 다음과 같은 결과가 나타납니다.

No resource found that matches the given name 'Theme.Sherlock.Light'

라이브러리 프로젝트는 아마도 응용 프로그램 프로젝트로 컴파일되었을 것입니다. 이를 변경하려면 다음으로 이동하십시오.

메뉴 파일 -> 프로젝트 구조 -> 패싯 -> [라이브러리 이름]-> "라이브러리 모듈"을 확인하십시오.


5

첫 번째 방법 이것은 MacBook에서 작동합니다.

주어진 화면에서 먼저 builder.gradle 파일을 선택하십시오.

여기에 이미지 설명을 입력하십시오

선택한 화면과 같이 종속성을 추가하십시오.

여기에 이미지 설명을 입력하십시오

프로젝트 동기화를 선택하십시오.

"프로젝트 ': app'에서 경로가있는 프로젝트 : signature-pad '를 찾을 수 없습니다"와 같은 오류가 발생하면 두 번째 방법을 사용하십시오.

메뉴 파일 -> 새로 만들기 -> 모듈 가져 오기 ... :

여기에 이미지 설명을 입력하십시오

클릭 한 후 가져 오기 모듈 ,

여기에 이미지 설명을 입력하십시오

내 MacBook 경로와 같은 라이브러리 경로를 제공하십시오.

여기에 이미지 설명을 입력하십시오

Finish를 클릭하십시오 . 이제 라이브러리가 추가되었습니다.


4

ABS 모듈 (파일> 프로젝트 구조에서)을 가져 와서 안드로이드 2.2와 지원 라이브러리 v4를 종속성으로 가지고 있는지 확인한 후에도 @Alex로 여전히 다음 오류가 발생했습니다

Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar'

새로 가져온 모듈을 기본 앱 모듈에 대한 종속성으로 추가하고 문제를 해결했습니다.


모듈을 종속성으로 추가하는 것을 포함하여 모든 단계를 시도했지만 여전히 있습니다 Gradle: Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light'.. 내 주요 프로젝트에 라이브러리 프로젝트 (ABS)의 리소스가 표시되지 않는 것 같습니다. 그러나 IDE는 클래스 및 리소스에 대한 참조를 인식합니다. 스크린 샷
christiaanderidder

12에서 IDEA 13으로 마이그레이션 했으며이 오류도 있습니다. 모든 의존성에 대한 다시 가져 오기만 도움이됩니다. 수동으로 모든 모듈 제거, 관련 * .iml 파일 제거 및 libs 다시 가져 오기
Dmitriy Tarasov

4

안드로이드 스튜디오 3.0

라이브러리 이름을 앱의 build.gradle 파일 의 dependencies 블록에 추가 하십시오.

dependencies {
    // ...
    implementation 'com.example:some-library:1.0.0'
}

지금 implementation보다는 오히려 사용해야합니다 compile. 이것은 Android Studio 3.0의 새로운 기능입니다. 차이점에 대한 설명은 이 Q & A 를 참조하십시오 .


실제로는 Android Studio 3이 아닌 Gradle 4의 변경 사항입니다 com.android.tools.build:gradle:2.3.3. "컴파일"을 계속 사용하려면 Android Studio 3에서 3.0.0 대신 계속 사용할 수 있습니다 .
chauduyphanvu

3

이 문제를 해결하려면 아래와 같이 프로젝트 빌드 파일에 abs 리소스 경로를 추가하면됩니다.

sourceSets {
    main {
        res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']
    }
}

따라서 오류없이 다시 컴파일합니다.


3

Android Studio .0.4.0이있는 경우 빌드 경로에 새 폴더를 작성할 수 있습니다 YourApp/libraries. JAR 파일을 복사하십시오. 거기에서 마우스 오른쪽 버튼으로 클릭하고 "라이브러리로 추가"를 클릭하십시오. 이제 팝업이 있습니다. 디렉토리를 선택하고 확인을 누르면됩니다.


3

Android 라이브러리 프로젝트를 모듈 및 Build.gradle 로 가져 오기만하면됩니다. 됩니다.

플러그인 적용 : 'com.android.library'

그런 다음 다음 단계를 수행하십시오.

  1. 모듈을 마우스 오른쪽 버튼으로 클릭하고 열린 모듈 설정을 선택하십시오.
  2. 종속성을 선택하고을 클릭 한 다음 +라이브러리 종속성을 선택하고 이전에 가져온 모듈을 추가하십시오.


2

해결책을 찾았습니다. 너무 간단합니다. froger_mcs 지침을 따르십시오 .

프로젝트 구조-> 모듈 (소스)에서 src 폴더를 소스 폴더만들어야합니다 .

여기에 이미지 설명을 입력하십시오


2

기본적으로 JAR 파일을 세 가지 방법으로 포함 할 수 있습니다. 마지막은 https://bintray.com/jcenter 온라인 저장소를 사용하는 원격 라이브러리입니다 . 그러나 다른 두 가지 방법 중 하나로 수행하면 JAR 파일이 실제로 프로젝트에 포함됩니다. 자세한 내용은 https://stackoverflow.com/a/35369267/5475941 링크 를 참조하십시오. 이 게시물에서는 Android 스튜디오에서 JAR 파일을 가져 오는 방법을 설명하고 가능한 모든 방법을 설명했습니다.

요약하면 다음과 같습니다 (로컬 주소). 파일이 다운로드되고 이러한 JAR 파일이 실제로 프로젝트에 있습니다.

여기에 이미지 설명을 입력하십시오

그러나 인터넷 주소가 이와 같은 경우 원격 라이브러리 (bintray.com jcenter 부분)이며 원격으로 사용됩니다.

여기에 이미지 설명을 입력하십시오

도움이 되길 바랍니다.


2

빌드 gradle 모듈 앱 파일을 열고 종속성을 추가하십시오. 라이브러리를 다운로드하는 경우 가져 오기 및 gradle로 빌드하십시오.

그렇지 않으면 사이드 gradle 모듈 앱에 리포지토리를 추가하십시오.

repositories {
        maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
}

첫 번째 리포지토리가 라이브러리를 다운로드합니다.

그리고 다운로드 한 라이브러리를 컴파일하십시오 :

 compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {
        transitive = true
    }

라이브러리를 작성하는 경우 프로젝트를 새 모듈 가져 오기로 가져 오기만하면됩니다.


2

사람들에게 다른 문제의 원인이있었습니다.

repositories {
    mavenCentral()
}

mavenCentral ()을 jcenter ()로 변경하고 추가하십시오.

allprojects {
    repositories {
        jcenter()
    }
}

1

Android Studio에서 app 폴더 내부로 이동하여 build.gradle 파일을 엽니 다. 여기에 종속성이 표시됩니다 {}. 그 안에 라이브러리 프로젝트를 추가하고 동기화 할 수 있습니다. 이제 라이브러리를 동기화 한 후 라이브러리가 프로젝트에 추가되고 프로젝트에서 해당 함수와 클래스를 사용할 수 있습니다.


1

Android Studio의 경우 :

여기에 이미지 설명을 입력하십시오

Build.gradle (module : app)을 클릭하십시오 .

그리고 추가

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/commons-io-2.4.jar')
}

"app"디렉토리에 "libs"디렉토리를 작성하십시오. yourfile.jar 파일을 추가하십시오.

여기에 이미지 설명을 입력하십시오

마지막으로 Gradle 파일을 컴파일하십시오.

여기에 이미지 설명을 입력하십시오


0

나도 같은 문제가 발생하여 다음과 같은 일을했습니다.

  1. 메뉴 파일 -> 모듈 메뉴 가져 오기를 사용하여 라이브러리 프로젝트를 모듈로 AndroidStudio IDE로 가져옵니다.

  2. 그런 다음 라이브러리 프로젝트를 종속 프로젝트로 사용하려는 기본 모듈로갔습니다.

  3. 메인 모듈을 마우스 오른쪽 버튼으로 클릭하십시오 (제 경우 이름은 app )-> 모듈 설정 열기-> 종속성 탭으로 이동-> + 버튼을 클릭하십시오 (창 오른쪽에 나타남)-> 모듈 종속성을 클릭하십시오- > 목록에서 도서관 프로젝트를 선택하십시오

변경 사항을 적용하고 OK버튼을 클릭하십시오 .

그것은 나를 위해 일했다. 나는 그것이 다른 사람들에게도 도움이되기를 바랍니다.


0

빌드 gradle 파일에 이것을 추가하십시오 :

 dependencies {
     implementation 'com.jakewharton:butterknife:9.0.0'
}

-1

실제로 버전이 변경됨에 따라 메뉴에서 사용 가능한 사용자 인터페이스 및 옵션도 변경됩니다. 이 질문에 대한 대부분의 답변을 읽은 후 Android Studio 1.1.0에서 작동하는 것이 무엇인지 추측해야했습니다 .

  1. 마우스를 사용하여 기본 레벨에서 프로젝트를 선택하십시오 (여기서 앱 이름이 표시됨).

  2. 마우스 오른쪽 버튼을 클릭하고 새로 만들기, 폴더, 자산 폴더 메뉴 옵션을 선택하십시오 .

  3. 자산 폴더를 만든 후 라이브러리에 필요한 JAR 파일을 붙여 넣거나 복사하십시오.

  4. Android Studio의 기본 메뉴 (화면 상단)에서 파일 -> 프로젝트 구조를 선택하십시오 .

  5. 그런 다음 프로젝트 이름을 선택하고 종속성 탭으로 이동 하십시오.

  6. +대화 상자의 왼쪽 아래 에있는 더하기 부호 ( )를 클릭 하고 파일 종속성을 선택하십시오.

  7. 마지막으로 최근에 생성 한 자산 폴더를 열고 복사 한 JAR 파일을 선택한 다음 적용 및을 클릭합니다 OK.

프로젝트를 정리하고 다시 빌드하십시오.


1
자산에 항아리의 사본을 만드는 것은 APK 크기를 불필요하게 증가시킬 것입니다 좋은 생각이 아닙니다
Rajnish Mishra

조언 @RajnishMishra에 감사드립니다. 나는 그것을 의심했지만 대신 당신은 무엇을 제안합니까?
monn3t
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.