app: core-shizuku — dual-path shell-tier executor + probe, wired into the app
Ports the prober's validated Shizuku tier: AIDL UserService, the build-4 dual-path ShizukuRunner (UserService bind where it works, legacy newProcess reflection fallback where it doesn't — exec_path records which), and ShizukuProbe running the shell command battery, emitting a shizuku-tier link.ip_monitor Test with per-device dumps as evidence. Self-degrades to UNSUPPORTED without Shizuku. Wired into RunViewModel (sets tiers.shizuku); app APK assembles. On-device verification deferred — no device reachable at build time (flaky LAN dropped the tablet, phone debugging off). Expect UserService on OnePlus, newProcess on Lenovo per the prober. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
9809ae57b4
commit
aaed22dd3f
@@ -0,0 +1,35 @@
|
||||
// SPDX-FileCopyrightText: 2026 Echolot contributors
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
plugins {
|
||||
// AGP 9 built-in Kotlin (no kotlin.android — see core-probe note).
|
||||
alias(libs.plugins.android.library)
|
||||
}
|
||||
|
||||
// The Shizuku (shell-tier) executor + probe. Ported from the validated
|
||||
// echolot-prober with the build-4 dual-path fix: bind the UserService when it
|
||||
// works (OnePlus), fall back to the legacy newProcess API when it doesn't
|
||||
// (Lenovo). Emits a core-measurement Test.
|
||||
android {
|
||||
namespace = "app.echo_lot.shizuku"
|
||||
compileSdk = 36
|
||||
|
||||
defaultConfig {
|
||||
minSdk = 26
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
targetCompatibility = JavaVersion.VERSION_17
|
||||
}
|
||||
buildFeatures {
|
||||
aidl = true // IUserService
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":core-measurement"))
|
||||
implementation(libs.shizuku.api)
|
||||
implementation(libs.shizuku.provider)
|
||||
implementation(libs.kotlinx.coroutines.android)
|
||||
implementation(libs.kotlinx.serialization.json)
|
||||
}
|
||||
Reference in New Issue
Block a user