From 59f4a06815694dad4f93236a70f5d03bb4c0987a Mon Sep 17 00:00:00 2001 From: justinzeus Date: Fri, 6 Nov 2026 15:21:19 +0100 Subject: [PATCH] Register the optimized baseline profile source explicitly --- app/build.gradle.kts | 1 + app/src/optimized/{ => baselineProfiles}/baseline-prof.txt | 0 docker/README.md | 7 ++++++- 3 files changed, 7 insertions(+), 1 deletion(-) rename app/src/optimized/{ => baselineProfiles}/baseline-prof.txt (100%) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f0d7554e..7b4c8e02 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -209,6 +209,7 @@ configure { } getByName("optimized") { kotlin.directories += "src/release/java" + baselineProfiles.directories += "src/optimized/baselineProfiles" } } diff --git a/app/src/optimized/baseline-prof.txt b/app/src/optimized/baselineProfiles/baseline-prof.txt similarity index 100% rename from app/src/optimized/baseline-prof.txt rename to app/src/optimized/baselineProfiles/baseline-prof.txt diff --git a/docker/README.md b/docker/README.md index ada3625d..aa6e8bde 100644 --- a/docker/README.md +++ b/docker/README.md @@ -77,7 +77,7 @@ separate package/debug signer. `androidx.profileinstaller` and library-provided profiles already exist. There is no recorded app baseline-profile source or Macrobenchmark module. -`src/optimized/baseline-prof.txt` adds a hand-maintained seed: application and +`src/optimized/baselineProfiles/baseline-prof.txt` adds a hand-maintained seed: application and activity classes plus their `onCreate` methods, `WolfskinAppKt`, `WolfskinScreenPreference` and `ConductarrPreference`. AGP merges it with library profiles, rewrites it through R8 and packages `assets/dexopt/baseline.prof` and @@ -87,6 +87,8 @@ module, record cold launch, Quick Connect/sign-in, person selection, Home, Libraries, Discover, title pages and playback on a suitable device, then rebuild and compare startup/frame timings. Device-driven recording and runtime checks remain separate from an APK build. +The optimized source set explicitly registers that profile directory; a bare +`src/optimized/baseline-prof.txt` is not consumed by this AGP configuration. Static verification: use `aapt2 dump badging` for package/label/SDKs and absence of `application-debuggable`; `apksigner verify --print-certs` for the debug @@ -95,6 +97,9 @@ signer; `unzip -l` for both dexopt assets, native ABI contents and absence of consumer rules rather than adding blanket keeps. JVM tests do not prove minified Hilt/Room/serialization/JNI runtime safety; exercise sign-in, real Conductarr reads, artwork, database reopen and each player on the comparison box. +`help --task :app:testDefaultOptimizedUnitTest` confirms that this non-debug +variant has no JVM unit-test task, just like release. Build logic is checked +through actual APK assembly and static artifact inspection, not mock unit tests. ## Upstream v1.1.0 integration