Android Studio Gradle 여러 Jar 내보내기
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
pure.initWith(buildTypes.release)
pure {
// src ,
}
im.initWith(buildTypes.release)
im {
// src ,
}
}
dependencies {
// compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
provided files('libs/android-support-v4.jar')
// Jar
//Debug version
debugCompile files('libs/xxx.jar')
debugCompile files('libs/xxx.jar')
//Integration version
releaseCompile files('libs/xxx.jar')
releaseCompile files('libs/xxx.jar')
//Pure version
pureProvided files('libs/xxx.jar')
pureCompile files('libs/xxx.jar')
//IM version
imProvided files('libs/xxx.jar')
imProvided files('libs/xxx.jar')
}
task makeJar(type: Copy, dependsOn: ['build']) {
//
delete 'build/libs/test.jar'
//
from('build/intermediates/bundles/release/')
// jar
into('build/libs')
// classes.jar build/libs/
//include ,exclude
exclude "**/R.class"
exclude "**/R\$*.class"
include('classes.jar')
//
rename('classes.jar', 'test.jar')
}
task makeJarPure(type: Copy, dependsOn: ['build']) {
delete 'build/libs/pure.jar'
from('build/intermediates/bundles/pure/')
into('build/libs')
exclude "**/R.class"
exclude "**/R\$*.class"
include('classes.jar')
rename('classes.jar', 'pure.jar')
}
task makeJarIM(type: Copy, dependsOn: ['build']) {
delete 'build/libs/im.jar'
from('build/intermediates/bundles/im/')
into('build/libs')
exclude "**/R.class"
exclude "**/R\$*.class"
include('classes.jar')
rename('classes.jar', 'im.jar')
}
이task는 상기 세 개의task를 동시에 실행하기 위해서일 뿐입니다. (jar의 버전이 많으면 위의task를 하나의 함수로 정의하고 아래의 방법으로 호출할 수 있습니다.) 하나를 실행하지 않고releaseJar만 실행하면 여러 버전의Jar를 생성할 수 있습니다.
task releaseJar(type: Copy, dependsOn: makeJar) {
dependsOn makeJarPure
dependsOn makeJarIM
from('build/libs')
into('../app/libs')
include('test.jar')
include('pure.jar')
include('im.jar')
//integration version
rename('test.jar', 'xxx' + '_release.jar')
//pure version
rename('pure.jar', 'xxx' + '_release.jar')
//IM version
rename('im.jar', 'xxx' + '_release.jar')
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.