2016-11-03 3 views
0

에서 라이브러리 및 AAR을 만들어이 스택 오버플로 here1, here2, here3here4 안드로이드 개발자 here 이전 질문에 대한 일반적인 정보를 바라 보았다.안드로이드 스튜디오 2.2

다른 프로젝트에서 사용할 수있는 새로운 "유틸리티 라이브러리"를 만들고 싶지만 이해가되지 않는 부분이 있습니다.

Application name: Test 
Package name: com.example.tomihasa.test 
Minimum SDK: API 15: Android 4.0.3 
Activity: Empty Activity 
() Backwards Compatibility (AppCompat) 

둘째, 나는 새로운 라이브러리를 시작합니다 :

는 첫째, 안드로이드 스튜디오 2.2 (10.11가 X OS) 새 프로젝트를 시작 : 여기에 내가 무슨 파일을, 새로운, 새로운 모듈, 안드로이드 도서관

/Users/tomihasa/AndroidStudioProjects/Test 
/Users/tomihasa/AndroidStudioProjects/Test/mylibrary 

검사를하는 이유는 내부에 MyLibrary입니다 :

Application/Library name: MyLibrary 
Package name: com.example.tomihasa.mylibrary 
Minimum SDK: API 15: Android 4.0.3 

지금 디렉토리가? 다른 곳에서 사용하고 싶다면 다른 곳에 있어야할까요? 어떻게 움직일 수 있습니까?

셋째, settings.gradle에서 내가 가진 : here에서 언급 한 바와 같이

Build, Make Module 'mylibrary'. 

내가 어떤 .JAR 또는 .AAR 패키지를 찾을 수 없습니다 :

include ':app', ':mylibrary' 

넷째, 나는에 MyLibrary를 구축 할 수 있습니다.

무엇이 누락 되었습니까?

답변

0

Test 프로젝트 안에 module을 만듭니다. 모든 모듈이 여기에 포함됩니다. 모듈 자체에는 자체 빌드 스크립트 및 디렉토리가 있어야하며 다른 모듈과의 종속성이없는 경우 나머지 프로젝트와 독립적으로 사용할 수 있습니다.

원한다면이 모듈을 다른 프로젝트의 라이브러리로 사용할 수 있습니다. Android Studio는 파일을 빌드하고 디버그 할 때마다 aar 개의 파일 (디버그 및/또는 릴리스)을 만들어 Test/myLibrary/build/outputs/aar/ 폴더에 저장합니다. 그들은 각각 {module-name}-debug.aar{module-name}-release.aar과 같은 이름이어야합니다. aar을 로컬 메이븐 저장소에 업로드하거나 다른 프로젝트에서 직접 aar을 사용할 수도 있습니다. 표시되지 않으면 Build->Clean Project으로 이동하여 Android Studio에서 깨끗한 프로젝트를 수행해야 할 수 있습니다.

독립 실행 형 라이브러리를 만들려면 별도의 프로젝트를 만들어야합니다. 그런 다음 위의 방법 중 하나를 사용하여 빌드 된 aar을 다른 프로젝트로 가져와야합니다.

편집 :

지역 받는다는 저장소에 설치하려면 먼저 당신은 당신의 빌드 스크립트에서 mavenLocal() REPO를 포함해야합니다. Gradle을 콘솔에서

apply plugin: 'com.android.library' 
apply plugin: 'maven' 

android { 

    ... 

    task installArchives(type: Upload) { 
     description 'This task will upload the build to mavenLocal()' 
     repositories.mavenInstaller { 
      pom.version = '0.0.1' 
      pom.artifaceId = 'myLibrary' 
      pom.groupId = 'com.example.tomihasa' 
     } 
    } 
} 

입력 ./gradlew build installArchives 구축하고 업로드 :

그런 다음 라이브러리의 build.gradle 파일에, 당신은 maven 플러그인을 적용해야합니다.

그런 다음 프로젝트는 빌드 스크립트에서 mavenLocal()을 포함하고 수행하여 설치할 수 있습니다 : 내가 만든

dependencies { 
    compile 'com.example.tomihasa:myLibrary:0.0.1' 
} 
+0

자동 생성 된 라이브러리는 build.gradle에 jcenter 언급하고있다. 레포 웹 사이트 없이도 도서관을 로컬로 사용할 수 있습니까? 자동 생성 된 .aar 파일의 이름은 mockable-android-25.jar입니다. 그게 정상인가요? – tomihasa

+0

@tomihasa : 그건 당신의 도서관이 아닙니다. 그건 당신의 프로젝트가 컴퓨터에서 컴파일되도록 모든 안드로이드 메소드를 포함하고있는 스텁 .jar입니다. 라이브러리의'build.gradle' 파일에서 상단에'apply plugin : 'com.android.library'가 필요합니다. – DeeV

+0

제게 그것은 maven 대신 jcenter()를 말합니다. 나는 아직 repos를 공부하지 않았으므로, JOC 나 Maven없이 모든 것을 할 수 있습니까? – tomihasa

관련 문제