아래는 현재 사용하고 있는 gradle 설정환경입니다.
./gradlew makrJar 명령어를 통해서 sand.jar 파일 생성하고 있습니다.
문제는 배포한 jar 파일(sand.jar) 을 보면 클래스 파일 이외에 layout/, drawable-xxx/, values/ 폴더들까지 모두 포함되어있는데 이런 폴더들을 제거하고 순수하게 클래스 파일들만 모아서 배포하고 싶습니다.
exclude 를 사용해서 테스트 해봤는데 잘 안되네요. 아시는 분 답변 부탁드립니다.
sand.jar 파일을 열어보면 클래스 파일 이외에 아래와 같은 resource 관련 파일들이 보이고
이 리소스 파일들은 제거해서 jar 파일을 만들고 싶은겁니다.
layout/
layout/main.xml
drawable-mdpi/
drawable-mdpi/ic_launcher.png
values/
values/strings.xml
drawable-ldpi/
drawable-ldpi/ic_launcher.png
drawable-hdpi/
drawable-hdpi/ic_launcher.png
gradle 설정파일
//apply plugin: 'com.android.application'
//apply plugin: 'android'
apply plugin: 'com.android.library'
buildscript {
repositories {
mavenCentral()
}
}
repositories {
mavenCentral()
}
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
// applicationId "apat.junit"
minSdkVersion 17
targetSdkVersion 21
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
}
sourceSets {
main {
java {
srcDir 'src/main/java'
}
}
}
}
task clearJar(type: Delete) {
delete 'build/outputs/sand.jar'
}
task makeJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('build/outputs/')
include('classes.jar')
rename ('classes.jar', 'sand.jar')
}
makeJar.dependsOn(clearJar, build)
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.google.code.gson:gson:2.1'
}