마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

android studio로 jar 만들기 + BuildConfig.class 제외하기

0 추천

android studio로 작업중이구요,

jar파일을 만들기 위해서 아래 사이트를 참고하여 build.gradle에 일부 task를 추가했습니다.

http://stackoverflow.com/questions/16763090/how-to-export-library-to-jar-in-android-studio

 

task 실행해보니 jar파일이 잘 만들어지기는 하는데요

buildConfig.class파일이 포함된 jar 파일이 만들어 집니다

관련 내용 구글링 해보니 아래처럼 exclude하는 command를 추가하라고 되어 있는데요

http://stackoverflow.com/questions/28805607/exclude-buildconfig-class-and-r-class-from-android-library-jar-in-gradle

 

clean > jar파일 만들기를 반복해도 해당 command가 먹질 않는지

계속  BuildConfig.class가 포함된 jar가 만들어지네요 ㅠㅠ

혹시 해결방법 아시는 분 계시면 알려주세요


참고로 제가 수정한 build.grale은 아래와 같습니다.

apply plugin: 'com.android.library'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"

    defaultConfig {
        minSdkVersion 22
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
    }

    sourceSets {
        main {
            java {
                exclude '**/BuildConfig.**'
            }
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:24.2.1'
}

//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')
    exclude '**/BuildConfig.class'
    exclude '**/R.class'
    rename('classes.jar','AndroidPlugin.jar')
}

task androidReleaseJar(type: Jar, dependsOn: assembleRelease) {
    from('build/intermediates/bundles/release/')
    into('release/')
    exclude '**/BuildConfig.class'
    exclude '**/R.java'
}

exportJar.dependsOn(deleteOldJar,build)


 

아 그리고 간혹 jar 파일 만들기 위해 만들어놓은 task를 실행시켜도

 jar 파일에 변화가 없는 경우가 있던데요

혹시 변경점이 없는 경우 해당 task가 실행이 안되는 건가요?

익명사용자 님이 2016년 11월 23일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...