Android Studio export jar with dependencies / 안드로이드 스튜디오 JAR 생성

2017. 8. 11. 17:59Programing/Android / Java

아래 코드로 일반적으로 JAR File을 생성하려고 한다.

하지만, 이 코드가 적용이 안되는 경우가 매우 빈번하다.

task clearJar(type: Delete) {
  delete 'build/libs/mysdk.jar'
}

task makeJar(type: Copy) {
  from('build/intermediates/bundles/release/')
  into('release/')
  include('classes.jar')
  rename ('classes.jar', 'mysdk.jar')
}

makeJar.dependsOn(clearJar, build)


또는, 생성은 되나 Dependency 내용이 누락되어 있다. 

때문에, 이러한 경우 아래 내용을 참고 하시길 바란다.


android.libraryVariants.all {
variant -> def name = variant.buildType.name

if (name.equals(com.android.builder.core.BuilderConstants.DEBUG)) {
return; // Skip debug builds.
}
def task = project.tasks.create "jar${name.capitalize()}", Jar
task.dependsOn variant.javaCompile
//Include Java classes
task.from variant.javaCompile.destinationDir
//Include dependent jars with some exceptions
task.from configurations.compile.findAll {
it.getName() != 'android.jar' && !it.getName().startsWith('junit')
}.collect {
it.isDirectory() ? it : zipTree(it)
}
artifacts.add('archives', task);
}