Register the optimized baseline profile source explicitly

This commit is contained in:
justinzeus 2026-11-06 15:21:19 +01:00
parent 427b18cdc5
commit 59f4a06815
3 changed files with 7 additions and 1 deletions

View file

@ -209,6 +209,7 @@ configure<ApplicationExtension> {
}
getByName("optimized") {
kotlin.directories += "src/release/java"
baselineProfiles.directories += "src/optimized/baselineProfiles"
}
}

View file

@ -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