android - studio - 안드로이드 프로젝트 병합




Android Studio에 라이브러리 프로젝트를 추가하려면 어떻게해야하나요? (20)

Android Studio에 라이브러리 프로젝트 (예 : Sherlock ABS)를 추가하려면 어떻게해야하나요?

(이전 ADT Eclipse 기반 번들이 아니라 새로운 Android Studio로 이동) .


Android Studio 3.0

앱의 build.gradle 파일의 종속성 블록에 라이브러리 이름을 추가하기 만하면 됩니다.

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

이제는 compile implementation 대신 compile 해야합니다. Android Studio 3.0의 새로운 기능입니다. 차이에 대한 설명은 이 Q & A 를 참조하십시오.


옵션 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 파일을 확인하십시오. 새 종속성을 포함하도록 자동으로 업데이트되어야합니다.

Source


  1. F4 키 를 눌러 프로젝트 구조 를 표시하고 라이브러리 또는 전역 라이브러리를 클릭 한 다음 + 를 클릭하여 JAR 파일을 추가합니다.
  2. 모듈을 클릭하여 병을 추가하려면, 종속성 탭을 선택하고 +를 클릭하고 라이브러리를 추가하십시오.

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 Files를 컴파일하십시오.


Android Studio가 .0.4.0 인 경우 빌드 경로 인 YourApp/libraries 새 폴더를 만들 수 있습니다. JAR 파일을 복사하십시오. 거기에서 마우스 오른쪽 단추로 "라이브러리로 추가"를 클릭하십시오. 이제 팝업 창이 나타납니다. 디렉토리를 선택하고 OK를 누르면됩니다.


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


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

예를 들어, 다음과 같은 구조에 주어진 :

MyProject /

  • 앱/
  • 라이브러리 /
    • lib1 /
    • lib2 /

우리는 세 가지 프로젝트를 확인할 수 있습니다. Gradle은 다음 이름으로 참조 할 것입니다.

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

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

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

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

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

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

나는 그것이 도움이되기를 바랍니다.


나는 또한 같은 문제가 발생했을 때 나는 그 일들을 따라 갔다.

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

  2. 그런 다음 도서관 프로젝트를 종속 프로젝트로 삼고 싶은 메인 모듈로갔습니다.

  3. 메인 모듈을 마우스 오른쪽 버튼으로 클릭하십시오. (내 경우에는 이름이 app입니다. ) -> 열린 모듈 설정 -> 의존성 탭으로 이동 -> + 버튼을 클릭하십시오 (모듈의 오른쪽에 나타납니다) -> 모듈 종속성을 클릭하십시오 - > 목록에서 귀하의 도서관 프로젝트를 선택하십시오

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

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


나는 사람들을 위해 문제의 다른 원인을 가지고 있었다.

repositories {
    mavenCentral()
}

mavenCentral ()을 jcenter ()로 변경하고

allprojects {
    repositories {
        jcenter()
    }
}

다음은 시각적 인 가이드입니다.

Android Studio 0.8.2 업데이트 :

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

오류가 발생하면

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

그냥 build.gradle 디렉토리에있는 build.gradle 파일을 열고 buildToolsVersion 을 제안 된 buildToolsVersion 갱신하십시오.

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

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

모듈 -> 가져 오기 모듈

라이브러리 모듈을 가져온 후 프로젝트 모듈을 선택하고 종속성을 추가하십시오.

가져온 모듈 을 선택하십시오.


답을 추가하려면 : IDE에 오류가 표시되지 않지만 컴파일하려고하면 다음과 같은 메시지가 표시됩니다.

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

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

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


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

Android Studio 1.1.0 용입니다.

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

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

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

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

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

    응용 프로그램 폴더 -> 모듈 설정 열기 -> 종속성 탭으로 이동 -> '+'버튼 -> 모듈 종속성을 클릭하십시오.

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

  5. ???

  6. 이익


빌드 gradle 모듈 응용 프로그램 파일을 열고 종속성을 추가하십시오. 라이브러리를 다운로드 한 경우 가져 오기만하면 gradle로 빌드됩니다.

그렇지 않으면 side gradle module app에 저장소를 추가하십시오.

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

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

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

 compile ('com.fortysevendeg.swipelistview:swipelistview:[email protected]') {
        transitive = true
    }

라이브러리를 만드는 경우 프로젝트를 새 모듈 가져 오기로 가져와야합니다.


외부 라이브러리 프로젝트를 포함하는 가장 쉬운 방법은 (예를 들어 의존성 폴더에 하나의 디렉토리에 저장된 Facebook 라이브러리를 포함하는 것입니다) :

  1. settings.gradle에서 add

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

    compile project ('facebook')
    

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


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

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

그래서 오류없이 다시 컴파일합니다.


파일> 프로젝트 구조에서 ABS 모듈을 가져 와서 Android 2.2 및 지원 라이브러리 v4가 종속성을 가지는지 확인한 후에 @Alex로 다음 오류가 계속 발생했습니다.

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

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


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

프로젝트 구조 -> 모듈 (소스)에서 src 폴더를 소스 폴더만드십시오 .


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

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

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

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

예 :

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

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

Android Studio의 프로젝트 섹션에서 모듈 폴더를 마우스 오른쪽 버튼으로 클릭하면 "Open module settings"섹션이 나타납니다 (버전 0.2.10을 사용하고 있습니다).


Android Studio 1.0 용 업데이트

안드로이드 스튜디오 1.0 (그리고 이전 버전의 대답 당시 v1.0과 최초 버전 중 많은 버전)이 출시 되었기 때문에 몇 가지 변화가있었습니다.

내 설명은 외부 라이브러리 프로젝트를 손으로 Gradle 파일 (프로세스 이해를 돕기 위해)을 통해 추가하는 데 초점을 맞추고 있습니다. Android Studio 제작자를 통해 라이브러리를 추가하려면 아래 안내를 시각적 가이드 (Android Studio 1.0과 스크린 샷의 차이점이 있지만 프로세스가 매우 유사 함)로 확인하십시오.

프로젝트에 직접 라이브러리를 추가하기 전에 외부 종속성을 추가하는 것이 좋습니다. 프로젝트 구조에 혼란을주지는 않습니다. 거의 모든 잘 알려진 안드로이드 라이브러리는 Maven 저장소에서 사용할 수 있으며 app/build.gradle 파일에는 코드의 한 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. include 할 라이브러리를 추가하여 settings.gradle을 편집하십시오. 내가했던 것처럼 사용자 정의 경로를 사용한다면 라이브러리의 프로젝트 디렉토리도 정의해야합니다. 전체 설정 .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 파일이 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 파일을 편집하고 행을 추가하기 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 파일 (app 및 libraries 모듈에 있음) 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 아이콘과 동기화하십시오. . 프로젝트에 라이브러리가 있어야합니다.

Google I / O 2013 - 새로운 Android SDK 빌드 시스템 은 Gradle Build System으로 Android 앱을 제작하는 데 대한 훌륭한 프레젠테이션입니다. As Xavier Ducrohet

Android Studio는 편집 및 디버깅 및 프로파일 링에 관한 모든 것입니다. 더 이상 건물을 짓는 것이 아닙니다.

처음에는 약간 혼란 스러울 수 있습니다 (특히 Eclipse 하고 나 같은 개미를 본 적이없는 사람들에게는 특히 그렇습니다).하지만 결국 Gradle은 우리에게 큰 기회를 주었고이 빌드 시스템을 배우는 데 가치가있었습니다.





android-studio