본문 바로가기
모바일개발(Mobile Dev)/안드로이드개발(Android)

making jar file on android studio

by 테크한스 2016. 7. 24.
반응형

written by 



Gradle Build로 JAR 파일 만들기

1. 환경
    Device : Macbook Pro
    OS      : OSX v10.11.1
    IDE     : Android Studio v1.4.1
    
2. 문제 
    eclipse에서 jar파일은 마우스로 클릭 몇번이면 export가 가능하다.

    Android studio는 Gradle을 이용하여 생성한다.
    - Jar 파일을 생성할 수 있는 빌드 방법을 모른다.

3. 참고 자료
    - https://www.youtube.com/watch?v=1i4I-Nph-Cw 
  
4. 문제 해결
    1. plugin 변경
        - apply plugin: 'com.android.application' -> apply plugin: 'com.android.library'
    2. deleteOldJar, exportJar task 추가
    3. exportJar 스크립트에 dependsOn으로 위 2개의 task 추가
    4. 해당 프로젝트에 release 디렉토리에 jar파일 생성

[file]build.gradle
//apply plugin: 'com.android.application'
apply plugin: 'com.android.library'
android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 23
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}
//task to delete the old jar
task deleteOldJar(type:Delete){
    delete 'release/AndroidPlugin.jar'
}
//task to export contents as jar
task exportJar(type:Copy){
    from('build/intermediates/bundles/release/')
    into('release/')
    include('classes.jar')
    rename('classes.jar','AndroidPlugin.jar')
}
exportJar.dependsOn(deleteOldJar,build)
cs

    5. build 방법
     - 1.오른쪽 상단의 gradle 클릭
     - 2.app 혹은 project name 더블 클릭
     - 3.other 디렉터리 더블 클릭
     - 4.exportJar 더블 클릭


------



1. File > Project Structure 선택

2. 상단의 + 선택

3. Import .JAR or .AAR Package 선택

4. jar 선택 후 Subproject name에 해당 항목의 이름을 정한 후 Finish

5. 1번의 Project Structure화면에서 app > Dependencies 탭 선택

6. 오른쪽의 + 선택 > Module Dependency 선택

7. 4번에서 만든 모듈 선택

8. 끝!



반응형

'모바일개발(Mobile Dev) > 안드로이드개발(Android)' 카테고리의 다른 글

android v4 v7  (0) 2016.08.06
android studio + nox (offline)  (0) 2016.07.26
android studio + nox  (0) 2016.07.13
android fingerprint making For Maps API  (0) 2016.06.12
Android LayoutInflater Usage  (0) 2016.05.06