ursus
10/28/2025, 7:27 PMPHondogo
10/28/2025, 8:55 PMursus
10/28/2025, 8:56 PMPHondogo
10/28/2025, 8:57 PMursus
10/28/2025, 8:58 PMursus
10/28/2025, 8:59 PMPHondogo
10/28/2025, 9:05 PMPHondogo
10/28/2025, 9:05 PMPHondogo
10/28/2025, 9:14 PMjava -XX:AOTCacheOutput=path-to-cache.aot -jar app.jar
on other runs using generated cache
java -XX:AOTCache=path-to-cache.aot -jar app.jarursus
10/28/2025, 9:15 PMPHondogo
10/28/2025, 9:15 PMursus
10/28/2025, 9:15 PMPHondogo
10/28/2025, 9:16 PMPHondogo
10/28/2025, 9:17 PMursus
10/28/2025, 9:17 PMursus
10/28/2025, 9:18 PM./gradlew packageReleaseUberJarForCurrentOS produce the release jar as usual
and then do the training run manually? or does it somehow integrate with gradle?PHondogo
10/28/2025, 9:18 PMPHondogo
10/28/2025, 9:21 PMursus
10/28/2025, 9:21 PMPHondogo
10/28/2025, 9:23 PMursus
10/28/2025, 9:24 PMursus
10/28/2025, 9:24 PMursus
10/28/2025, 9:25 PMPHondogo
10/28/2025, 9:27 PMursus
10/28/2025, 9:27 PMPHondogo
10/28/2025, 9:28 PMursus
10/28/2025, 9:28 PMPHondogo
10/28/2025, 9:30 PMursus
10/28/2025, 9:31 PMPHondogo
10/28/2025, 9:38 PMfun registerR8Task(project: Project, appJarFile: Provider<RegularFile>) {
val r8Config = project.configurations.register("r8") {
project.dependencies.add(name, "com.android.tools:r8:<r8 version>")
}
project.tasks.register("r8", JavaExec::class.java) {
val outFile: RegularFile = TODO("provide file for output")
inputs.file(appJarFile)
outputs.file(outFile)
classpath(r8Config)
mainClass.set("com.android.tools.r8.R8")
//
doFirst {
val theLauncher = javaLauncher.get()
args(
"--release",
"--classfile",
"--output", outFile.asFile.absolutePath,
"--lib", theLauncher.metadata.installationPath,
appJarFile.get().asFile.absolutePath
)
}
}
}PHondogo
10/28/2025, 9:39 PMPHondogo
10/28/2025, 9:41 PMPHondogo
10/28/2025, 9:42 PMursus
10/28/2025, 9:43 PMPHondogo
10/28/2025, 9:44 PMPHondogo
10/28/2025, 9:44 PMPHondogo
10/28/2025, 9:45 PMursus
10/28/2025, 10:01 PMAlexander Maryanovsky
10/28/2025, 11:01 PMAlexander Maryanovsky
10/28/2025, 11:03 PMursus
10/28/2025, 11:54 PMAlexander Maryanovsky
10/28/2025, 11:58 PMursus
10/28/2025, 11:58 PMAlexander Maryanovsky
10/29/2025, 12:01 AMursus
10/29/2025, 12:02 AMAlexander Maryanovsky
10/29/2025, 12:03 AMursus
10/29/2025, 12:04 AMAlexander Maryanovsky
10/29/2025, 12:05 AMAlexander Maryanovsky
10/29/2025, 12:06 AMAlexander Maryanovsky
10/29/2025, 12:06 AMursus
10/29/2025, 12:07 AMursus
10/29/2025, 12:07 AMAlexander Maryanovsky
10/29/2025, 12:08 AMAlexander Maryanovsky
10/29/2025, 12:08 AMursus
10/29/2025, 12:09 AMAlexander Maryanovsky
10/29/2025, 12:09 AMursus
10/29/2025, 12:11 AMAlexander Maryanovsky
10/29/2025, 12:12 AMAlexander Maryanovsky
10/29/2025, 12:12 AMAlexander Maryanovsky
10/29/2025, 12:13 AMursus
10/29/2025, 12:13 AMAlexander Maryanovsky
10/29/2025, 12:13 AMursus
10/29/2025, 12:14 AMAlexander Maryanovsky
10/29/2025, 12:15 AMAlexander Maryanovsky
10/29/2025, 12:16 AMAlexander Maryanovsky
10/29/2025, 12:16 AMursus
10/29/2025, 12:17 AMAlexander Maryanovsky
10/29/2025, 12:18 AMursus
10/29/2025, 12:18 AMursus
10/29/2025, 12:26 AMursus
10/29/2025, 12:27 AMAlexander Maryanovsky
10/29/2025, 12:28 AM