feat(sdk-android): scaffold Android library module

AGP 8.11.0, Kotlin 2.1.21, minSdk 24, compileSdk 35, JDK 17
bytecode, no Compose dep. Uatu object exposes start/extract as
stubs; real implementation in tasks #6–8.
This commit is contained in:
pj committed 2026-04-17 22:38:04 +07:00
1 parent 9a792e20ce
commit 9cea3b66f0
4 files changed
+49

No files matched your search

+27
View File
@@ -0,0 +1,27 @@
plugins {
id("com.android.library") version "8.11.0"
kotlin("android") version "2.1.21"
}
android {
namespace = "dev.uatu.sdk"
compileSdk = 35
defaultConfig {
minSdk = 24
consumerProguardFiles("consumer-rules.pro")
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
}
dependencies {
testImplementation("junit:junit:4.13.2")
}
+2
View File
@@ -0,0 +1,2 @@
# ProGuard rules shipped to consumers of dev.uatu:sdk-android.
# None needed for v0.1 — socket + semaphore APIs are all reflection-free.
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" />
@@ -0,0 +1,18 @@
package dev.uatu.sdk
import android.app.Application
object Uatu {
fun start(application: Application, configuration: Configuration = Configuration()) {
// stub — real implementation in tasks #6–8
}
fun extract(name: String, function: () -> Any?) {
// stub — registry lands in task #8
}
}
data class Configuration(
val socketName: String = "uatu-agent",
val pauseTimeoutMillis: Long = 5_000L,
)