Androidプロジェクトはjarをパッケージ化し、sdkを生産して他の人に使用させるにはandroid studio 3.6を適用することができる.x
1756 ワード
2、パッケージするのはプロジェクトのmoduleです
新しいgradleファイル「tojar」をmodule buildと作成します.gradle同級以下の図
apply from: 'toJar.gradle'
gradle makeJar
新しいgradleファイル「tojar」をmodule buildと作成します.gradle同級以下の図
def jarName = "utils1.0"
//Copy , Terminal gradlew makeJar
task makeJar(type: Copy) {
//
delete 'build/libs/' + jarName + ".jar"
//
from("build/intermediates/aar_main_jar/debug")
// jar , classes.jar build/libs/
into('build/libs/')
// jar
include('classes.jar')
//
rename('classes.jar', jarName + ".jar")
}
makeJar.dependsOn(build)
//-encoding UTF-8 -charset UTF-8
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
// jar sourcesJar, 。
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
archiveName = jarName + '-sources.jar'
}
// jarDoc task, 。
task javadoc(type: Javadoc) {
failOnError false
source = android.sourceSets.main.java.srcDirs
options.encoding = "UTF-8"
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
classpath += configurations.compile
}
// javaDoc jar, 。
task javadocJar(type: Jar, dependsOn: javadoc) {
group = 'jar'
classifier = 'javadoc'
from javadoc.destinationDir
archiveName = jarName + '-javadoc.jar'
}
task generateJavadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
ext.cp = android.libraryVariants.collect { variant ->
variant.javaCompile.classpath.files
}
classpath = files(ext.cp)
}
artifacts {
archives sourcesJar
archives javadocJar
}
apply from: 'toJar.gradle'
gradle makeJar