본문 바로가기

프로그램/Android

안드로이드 라이브러리 만들기(1.aar 파일 생성)

반응형

Android Studio 이용하여 라이브러리 파일(aar 파일) 생성하고 사용하여 봅시다.



우선 샘플인 코드를 하나 만들어 보도록 하겠습니다. 기본적으로 프로젝트를 만들어 보겠습니다.



프로젝트는 평소 사용하듯이 만들어 주시면 됩니다. 괜히 쓸대없는 파일이 안늘어 나도록 add No Activity 선택하여 주시면 되겠습니다.






프로젝트를 만든후 테스트할 코드를 작성합니다. 저는 아래와 같이 현재 네트워크 상태를 체크하는 함수를 사용해봤네요.




public static int getConnectivityStatus(Context context) {
    ConnectivityManager cm = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);

    NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
    if (null != activeNetwork) {
        if(activeNetwork.getType() == ConnectivityManager.TYPE_WIFI)
            return 1;

        if(activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE)
            return 2;
    }
    return 0;
}




간단하게 테스트할 코드를 작성하였다면 이제 프로젝트를 Library 사용할수 있도록 셋팅을 하여 주어야 합니다


이 셋팅들은 gradle에서 작업을 있습니다. 바꿔 줘야할 영역은 apply 영역과 applicationId 입니다.  아래 코드 처럼 변경하여 주시고 제거해 주시면 되겠습니다.(아래는 테스트하는 코드입니다. dependencies 편하신대로 사용하시면 될것입니다.)



apply plugin: 'com.android.library'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 26
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:26.+'
    testCompile 'junit:junit:4.12'
}




gradle 셋팅하셨다면 이제 Library 만들어 주셔야 하는데요. 만드는 방법은 터미널을 이용하여야 합니다. 터미널에서 라이브러리화 시키는 프젝트의 root부분에 도달하면 gradlew라는 파일이 있습니다. 영역에서 


./gradlew clean

./gradlew aR


이란 명령어를 실행하여 주시면 성공적으로 라이브러리 파일이 생성 되셨을겁니다




생성된 라이브러리 파일 위치는 App/build/output/aar 안에 위치할건데 라이브러리명을 편한대로 정해주시면 될것같습니다.



반응형