// Yima IDE · on-device Android toolchain
package com.yima.demo
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.compose.material3.Text
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Text("build · package · run")
}
}
}
// local compile pipeline
val apk = toolchain
.compile(sources)
.link(resources)
.sign(keystore)
> Task :compileDebugKotlin
> Task :packageDebug
BUILD SUCCESSFUL in 2.4s
fun Agent.patch(file: Path, intent: String) {
edit(file) { apply(intent) }
}
aapt2 link · d8 · zipalign · apksigner
ecj · kotlinc · R8
Main.kt
class MainActivity {
setContent {
Text("OK")
}
}
Console
$ build
✓ compiled
✓ installed
launching…
Toolchain
aapt2
d8 · R8
kotlinc
</>
::
=>