feat: bundle `dex` file into `jar` file (#359)

This commit is contained in:
Alberto Ponces 2022-08-20 00:26:59 +01:00 committed by GitHub
parent b679fcf6a2
commit 1d084917ae
2 changed files with 4 additions and 8 deletions

View File

@ -31,9 +31,6 @@
"assets": [
{
"path": "build/libs/*.jar"
},
{
"path": "build/libs/*.dex"
}
]
}

View File

@ -27,15 +27,14 @@ dependencies {
}
tasks {
register<DefaultTask>("generateDex") {
description = "Generate dex files from build"
register<DefaultTask>("generateBundle") {
description = "Generate dex files from build and bundle them in the jar file"
dependsOn(build)
doLast {
val androidHome = System.getenv("ANDROID_HOME") ?: throw GradleException("ANDROID_HOME not found")
val d8 = "${androidHome}/build-tools/32.0.0/d8"
val input = configurations.archives.get().allArtifacts.files.files.first().absolutePath
val output = input.replace(".jar", ".dex")
val work = File("${buildDir}/libs")
exec {
@ -45,7 +44,7 @@ tasks {
exec {
workingDir = work
commandLine = listOf("mv", "classes.dex", output)
commandLine = listOf("zip", "-u", input, "classes.dex")
}
}
}
@ -62,6 +61,6 @@ tasks {
register<DefaultTask>("publish") {
group = "publish"
description = "Dummy task"
dependsOn(named("generateDex"), named("generateReadme"))
dependsOn(named("generateBundle"), named("generateReadme"))
}
}