Android Studio(0.3.2)에서 Library Project 가져오기

6970 단어 AndroidLibraryProject

개요


안드로이드 스튜디오(0.3.2)의 리브레리 프로젝트 가져오기가 상당히 힘들고, 자신이 쓰는 메모도 겸하고 있기 때문이다.
예를 들어 가져왔습니다ViewPagerIndicator.

주의 사항


Android Studio 버전은 0.3.2 이외에도 동일한 실행 보증이 없습니다.
특히 0.3.1 이하면 메뉴에 있는 항목이 원래 없으니 주의하세요.

Android Studio(0.3.2)의 Library Project


미리 준비하다


이번에는 여기.의 예를 들어 안드로이드 스튜디오의
Library Studio를 가져오려는 기본 프로젝트(Vi e w Pager Indicator Test Project)는 다음과 같이 구성됩니다.

먼저 가져오려는 Library Project에 Gradle build을 적용해야 합니다.
ADT에서 해당 항목을 열고 →Export를 마우스 오른쪽 버튼으로 클릭하고Generate Gradle build files를 선택합니다.

Export 프로젝트를 선택하고 Vi e w Pager IndicatorTest Project/libraries에 작성합니다.

Module 가져오기


항목을 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 Open Module Settings 를 선택합니다.

Project Settings의 Modules를 선택하고 + 버튼을 눌러 Import Module을 선택합니다.

Vi e w Pager Indicator Test Project/libraries/library 선택 (build.gradle 선택 안 함)
Create module from exsting sources 를 선택하여 검사 목록에 있는 모든 검사를 확인하면서 Next 를 반복해서 누릅니다.
library.iml 덮어쓰기 확인을 요청받은 경우 특별한 변경이 없으면 덮어씁니다. 문제없습니다.
도입이 끝나면 이렇게 되는 느낌.

이 때 몇 개의 아래에 오류가 있을 수 있습니다. OK를 누르고 Project Structure 창을 닫습니다.

Library Project 측면의build입니다.gradle 설정


먼저 0.6.+Gradle Plugin입니다.내가 처리할게.
buildscript의dependencies는 다음과 같이 변경되었습니다.
ViewPagerIndicatorTestProject/libraries/library/build.gradle
dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
}
또한 프로젝트 자체를 Library Project로 인식하기 위해
applugen의 항목이android가 아니라android-library인지 확인하세요.
ViewPagerIndicatorTestProject/libraries/library/build.gradle
apply plugin: 'android-library'
다음은 SDK 버전이 베이스 프로젝트(Vi e w Pager Indicator Test Project)와 일치하지 않는 경우
번역할 때 상대방에게 목표가 이상하다고 욕을 먹을 수 있으니 대본 프로젝트에 협조해야 한다.
이번에는 19로 설정했다.
ViewPagerIndicatorTestProject/libraries/library/build.gradle
android {
    compileSdkVersion 19
마지막으로, Library Project가 베이스 프로젝트와 동일한 라이브러리 의존
대본 공사를 번역할 때 오류가 발생했기 때문에 대본 공사와 같은 내용을 포함한다.
이번 예에서 베이스 프로젝트와 리브레리 프로젝트는 모두 닷컴이다.android.이용하기 위해서.
dependancies를 다음과 같이 변경합니다.
※ 대본 항목 중 include는 진행하지 않을 수 있지만, 아직 확인되지 않았습니다.
ViewPagerIndicatorTestProject/libraries/library/build.gradle
dependencies {
    compile 'com.android.support:support-v4:18.0.0'
    //compile fileTree(dir: 'libs', include: '*.jar')
}
Library Project 측면의build입니다.gradle의 설정은 이상입니다.

ViewPagerIndicatorTest의 buildgradle 설정


Library Project include를 지정하고 적절하게 컴파일해야 하기 때문에
dependancies를 다음과 같이 변경합니다.
'com.android.의존 이유는 상술한 내용을 참고하시오.
ViewPagerIndicatorTestProject/ViewPagerIndicatorTest/build.gradle
dependencies {
    compile project(':libraries:library')
    compile 'com.android.support:support-v4:18.0.0'
}

settings.gradle 설정


Library Project를 include로 설정하면 됩니다.
ViewPagerIndicatorTestProject/settings.gradle
include ':ViewPagerIndicatorTest', ':libraries:library'

잘못된 대책 같은 거.


먼저gradlew clean을 사용해 보세요.그리고 잘못된 대책을 기록했다.

Execution failed for task ':libraries:library:compileReleaseAidl'. > failed to find target android-16


대상 API 레벨의 안드로이드 SDK를 찾을 수 없는 경우에 나타납니다.
commpileSdkVersion을 대본 프로젝트와 같이 고쳤습니다.

Execution failed for task ':Hoge:dexDebug'.> Could not call IncrementalTask.taskAction() on task ':Hoge:dexDebug'


가져오려는 Library Project와 베이스 Library Project가 같은 프로그램 라이브러리를 사용할 때 발생합니다.
Library Project 측면의build입니다.gradle의dependencies의 기술을 확인하였으며, 해당 라이브러리의 참조를 대본 프로젝트와 동일하게 하여 해결하였다.(Library Project 측면의build.gradle 설정을 참조하십시오.)

Local path doesn't exist.


오류의 원인은 글자 그대로 아무리 봐도 적당한 경로를 설정했는데 이 오류가 발생했다.
Open Module Settings에서 Project Structure 창을 열어 오류 수정
클렌이 눈치채면 괜찮아질 거야...참고로 제공하다.

좋은 웹페이지 즐겨찾기