2013-05-18 1 views
17

라이브러리 프로젝트를 Android Studio에 추가하고 사용하려면 어떻게해야합니까? 효과) How do I add a library project to Android Studio? 또는 How to import relative project with the Android Studio(not jar)에 대한 답변을 찾으려고합니다. 하지만 작동하지 않습니다. 또한 "항목을 검색하는 중 오류가 발생했습니다 : 지정된 이름과 일치하는 리소스를 찾을 수 없습니다 'Theme.Sherlock.Light'." 등라이브러리 프로젝트를 Android Studio에 추가하고 사용하려면 어떻게해야합니까? (일부 질문에 적용되지 않습니다.)

내 SDK 도구 레브는 22

+0

사용중인 프로젝트 유형을 아는 데 도움이됩니다. 당신이 Studio/IntelliJ에 익숙하지 않은 것 같기 때문에, 당신은 안드로이드 지원으로 기존 IntelliJ 프로젝트를 사용하고 있지 않다고 생각합니다. 이클립스 안드로이드 프로젝트를 가지고 있다면, 그것을 gradle로 내 보내서 결과 프로젝트를 가져와야한다. Eclipse 프로젝트를 직접 가져 오지 마십시오. 그런 다음 build.gradle 파일을 수정하여 종속성을 추가하십시오. Studio UI가 아직 제대로 작동하지 않습니다. –

답변

22

이다 나는 어떻게지도 샘플 그렇게하는 방법을 보여 드리겠습니다.

Android Studio에서지도 샘플을 가져 와서 해당 지도 모듈을 생성했다고 가정 해보십시오.

1.

는 안드로이드 라이브러리 모듈 당신은지도 샘플이 지도 모듈을 컴파일하는 구글 API에서 필요로하는 모든 클래스를 포함 GMS에 대한 추가 라이브러리 모듈을 만들 필요가

을 만듭니다. >Import module 위에서 설명한 위치 나 라이브러리 프로젝트의 위치를 ​​선택 - 이렇게 File로 이동하려면

$ANDROID_SDK/extras/google/google_play_services/libproject/google-play-services_lib 

:

라이브러리 프로젝트에 있습니다.

그런 다음 사이의 올바른 옵션은 기존의 소스 또는 외부 모델에서 가져 오기 모듈에서 모듈을 만들고 사용합니다. 제 경우에는 기존 출처에서 온 것입니다.

Android Studio는 src/res 디렉토리를 감지합니다.

또한 라이브러리 디렉토리를 감지하므로 lib /에있을 수있는 jar 파일을 수동으로 가져 오지 않아도됩니다 (필자의 경우 google-play-services.jar처럼).

[편집 :이 모듈 의존성 라이브러리를 생성하지만 그들을 연결하지 않기 때문에 실제로 당신에게 절반 밖에 시간을 절약 할]

2. 업데이트 주요 모듈 종속성 - 라이브러리 모듈

이제 까다로운 부분은 프로젝트에 종속성으로 연결되지 않고 모듈 만 만들었다는 것입니다.

때문에, File로 이동합니까 ->Project structure ->내 경우을 매핑하고 오른쪽에있는 dependencies 탭으로 이동 메인 모듈을 선택 Modules

. +3. Module dependency을 클릭하십시오.

주 모듈이 의존하는 모듈을 선택하고 확인을 클릭하십시오.

3.주 모듈 종속성 업데이트 - Jars

설명 할 수없는 이유로 인해 지도에서 모듈의 활동이 여전히 API 클래스를 찾을 수 없습니다. 또한 수동으로 모듈 구성 (2.에서와 같이 google-play-services.jar 종속성을 추가해야하지만 대신 라이브러리을 선택해야합니다. 모듈 종속성);

이 점은 반드시 gradle로 자동화 될 수 있지만 아직 조사하지 않았습니다. 새로운 IDE를 사용할 때 사용하는 도구가 적을수록 구성 오류를 쉽게 추적 할 수 있습니다. 한 번에 하나의 도구 만 추가하는 것이 좋습니다 :)

+0

Iv'e는 당신이 말한대로 정확하게이 문제에 직면했습니다. java : package com.google.android.maps가 존재하지 않습니다 .... 어떤 이유일까요? ? – Ranco

+0

Hum. 이것도 시도해보십시오 : http://stackoverflow.com/questions/16596715/how-can-i-create-an-android-application-in-android-studio-that-uses-the-google-m I case in I 무언가를 잊어 버렸습니다. (이 사람이 방금 왔어요) –

+0

당신은 Gradle로 건축하고 있습니까? (Studio에서 만든 새 프로젝트는 Gradle을 사용합니다). 그렇다면 위의 대답은 완전히 잘못되었습니다. build.gradle을 통해서만 종속성을 추가하고 IDE에서는 UI를 사용하지 마십시오. –

1

방금이 도구를 찾는 모든 사용자에게 유용합니다. 라이브러리 프로젝트 (ABS와 마찬가지로)의 리소스에 대한 액세스가 필요한 경우 "라이브러리"대신 "모듈 종속성"으로 라이브러리 프로젝트/모듈을 추가해야합니다. 당신이 (내가 지금까지 이해 한 내용을, 당신의 작업 공간은 프로젝트에서, 그리고 프로젝트 인 IntelliJ/안드로이드 스튜디오에서 모듈입니다) 프로젝트에서 '라이브러리'모듈을 가져온 후

2

,

  1. 이동
  2. 는 모듈 이름 앞에 체크 박스 (내보내기)를 클릭 File -> Project structure -> Modules 또는 select the project and hit F4.-> Modules
  3. 에 (중간 열에서) 당신의 '라이브러리'모듈을 선택하고 (오른쪽 대부분의 칼럼에서) 종속성 탭을 클릭합니다. (확인하십시오)
  4. 이제 'your'모듈을 선택하고 왼쪽 창에서 + 기호를 클릭하고 "3. 모듈 종속성 ..."을 선택한 다음 '라이브러리'프로젝트를 선택하고 확인을 클릭하십시오.
  5. 지금 모듈을 컴파일하십시오.

프로젝트에서 '라이브러리'프로젝트의 클래스를 찾을 수 없다는 오류가 계속 표시되면 모듈의 '라이브러리'모듈 종속성에서 모듈의 '내보내기'체크 박스를 확인하십시오. 희망이 도움이 :)

+0

새 Gradle 프로젝트를 사용하지 않는 경우에만 작동합니다. 새로운 Gradle 프로젝트의 경우 build.gradle을 편집하고 UI의 종속성을 편집하지 마십시오. –

+1

프로젝트 구조 -> 모듈이 Android Studio (0.2.10 이상, IIRC)의 최신 버전에서 사라졌습니다. 지금은 build.gradle 파일에서 직접이 작업을해야 할 것입니다. –

+0

직접 빌드 스크립트를 편집해야하는 경우 IDE가있는 것이 무엇입니까? 이것은 우습다. – Almo

1

Studio에서 만든 프로젝트 또는 ADT에서 Gradle로 내 보낸 프로젝트를 사용하는 경우 build.gradle을 편집하여 종속성을 변경해야합니다. 프로젝트 구조 대화 상자의 UI는 IDE의 종속성에만 영향을 미치지 만 유언에서는 종속성 설정이없는 Gradle을 사용합니다.

build.gradle을 편집하면 Studio가 두 위치의 종속성을 업데이트하여 다시로드합니다. GUI는 권장하지 않습니다 통해 그되지 쓰기를처럼

(당신은 또한 의존성으로 모듈을 추가 할 경우) 더 종속성에 대한 정보, 멀티 모듈 설치에 대한

, http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Dependencies-Android-Libraries-and-Multi-project-setup

1

편집 라이브러리 의존성을 읽어 보시기 바랍니다 build.gradle 파일에 대한 변경 사항. 따라서 프로젝트는 명령 행에서 빌드되지 않습니다. 다음과 같이 build.gradle 파일을 직접 편집해야합니다.다음과 같은 구조에 주어진 예를 들어

:

에 MyProject/

  • 응용 프로그램/
  • 라이브러리/
    • LIB1/
    • LIB2/

3 개의 프로젝트를 식별 할 수 있습니다. 응용 프로그램 프로젝트 라이브러리에 의존 할 가능성이 있으며, : 응용 프로그램

  • : 라이브러리 : LIB1
  • : 도서관 : (가) LIB2
    1. : Gradle을 다음과 같은 이름을 참조합니다 이 작업은 다음 종속성을 선언하여 수행됩니다.

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

    아래 단계는 Android Studio 1.3.1

    mylib1은 독립 실행 형 프로젝트입니다. ../../android_lib_repo/mylib1이 프로젝트 디렉토리를

    입니다 mylib1

    1을 필요로 내 프로젝트) 편집 settings.gradle 파일

    include ':app' 
    include ':mylib1' ##New line 
    project(':mylib1').projectDir = new File('../../android_lib_repo/mylib1/app/') ##New line 
    

    에서

    . ./../android_lib_repo/mylib1/app/은 모듈 디렉토리입니다.

    2) build.gradle 파일을 편집하십시오.

    dependencies { 
        compile fileTree(dir: 'libs', include: ['*.jar']) 
        compile 'org.bouncycastle:bcprov-jdk16:1.46' 
        compile 'com.google.android.gms:play-services:6.5.87' 
        compile 'com.android.support:appcompat-v7:21.0.3' 
        compile 'com.android.support:support-v4:21.0.3' 
        compile project(':mylib1') ##New line 
    } 
    
    +0

    lib 프로젝트가 android studio guid로 생성 된 경우 추가해야하는 디렉토리는 "../../android_lib_repo/mylib1"일 수 있습니다. 그리고 나는이 링크가이 [issue] (http://stackoverflow.com/questions/17479076/android-studio-add-external-project-to-build-gradle)에 대해 더 많이 토론하는 것을 발견했다. 그리고 나는 duplicate에 관한 문제를 만났다. 파일을 패키지 APK 후 외부 lib를 사용하여 해결, [여기] (http://stackoverflow.com/questions/20673625/android-gradle-plugin-0-7-0-duplicate-files-during-packaging-of-apk) – cuble

    관련 문제