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가 실행이 안되는 건가요?