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>
31 lines
780 B
Kotlin
31 lines
780 B
Kotlin
// SPDX-FileCopyrightText: 2026 Echolot contributors
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
pluginManagement {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
}
|
|
}
|
|
dependencyResolutionManagement {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
}
|
|
|
|
rootProject.name = "echolot-app"
|
|
|
|
// core-protocol is a pure Kotlin/JVM module (the client side of
|
|
// probe-protocol.md) so it builds and unit-tests without the Android SDK and
|
|
// can run integration tests against a live server. Android modules
|
|
// (core-probe, core-shizuku, app) join as they land.
|
|
include(":core-protocol")
|
|
include(":core-measurement")
|
|
include(":core-engine")
|
|
include(":core-probe")
|
|
include(":core-shizuku")
|
|
include(":app")
|
|
include(":adb-beacon")
|