.NET 11’s CoreCLR default does not, by itself, determine whether a .NET MAUI Android app meets Google Play’s DEX optimization threshold. CoreCLR and ReadyToRun concern the .NET runtime and managed-code compilation; Google’s DEX metric concerns DEX code in the uploaded Android App Bundle. Check the bundle and Play Console’s evaluation rather than assuming a runtime change will clear the warning.
What changes for .NET MAUI Android apps in .NET 11?
Microsoft’s .NET 11 MAUI documentation says CoreCLR is the default runtime. NativeAOT is an opt-in publishing alternative and is described as experimental on Android. For Android Release builds, composite partial ReadyToRun is enabled by default; Debug builds do not enable ReadyToRun by default. These are runtime and compilation choices, not Google Play DEX scores.
As an Amazon Associate I earn from qualifying purchases.
Microsoft describes the Android package as containing distinct components, including classes.dex, CoreCLR and its runtime libraries, and managed application assemblies or ReadyToRun images. That distinction matters: a change to the .NET runtime or managed payload is not evidence that the DEX optimization percentage has improved or worsened.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsWhat does Google Play measure, and when does it flag an app?
Google describes DEX as compiled Android application code, typically Java and Kotlin. Its definition excludes compiled C++ code and .so libraries. This helps distinguish DEX from the packaged .NET runtime, but does not establish exactly how every MAUI project’s generated or dependency-provided Java and Kotlin code contributes to its DEX contents.
#1 Best Overall
Google reports optimization metrics for apps and games, but Android vitals issues findings only when the uploaded bundle has at least the applicable amount of uncompressed DEX. The stated minimum optimization threshold is 25% across optimization, shrinking, and obfuscation.
| Google Play category | Minimum uncompressed DEX for an Android vitals finding | Stated optimization threshold |
|---|---|---|
| Apps | 10 MB | 25% |
| Games | 50 MB | 25% |
Google’s 26 August 2026 announcement schedules enforcement of the new performance thresholds, including DEX optimization, to begin in February 2027. Google says apps that miss them may see reduced visibility and publishing capabilities on Google Play; that is a possible consequence, not a guaranteed penalty.
Rank #2
How to check the bundle you plan to upload
Run these checks against the same .aab file you intend to submit. The first command sums the uncompressed sizes of entries whose names end in .dex; its output is a byte count. Compare it with Google’s eligibility size for your app or game.
- Sum uncompressed DEX entries.
unzip -l <yourapp>.aab | grep -E '.dex$' | awk '{sum+=$1} END {print sum}' - Inspect R8 metadata when available. For bundles built with Android Gradle Plugin (AGP) 8.10 or higher that include the metadata file, extract it with:
unzip -p <yourapp>.aab BUNDLE-METADATA/com.android.tools.r8.json - Check Google Play’s evaluated result. Review the app’s Android vitals or Play Console result; local inspection is useful evidence, but it is not a substitute for Google’s evaluation.
If the metadata is absent, Google’s guidance says it may use mapping.txt or DEX heuristics. The R8 Configuration Analyzer’s keep-rule score is calculated before optimization and can differ from the post-optimization result in r8.json. Do not treat the analyzer’s score as the final Play Console result.
What to investigate if the score is low
- Identify which DEX files and Java or Kotlin dependencies contribute to the uploaded bundle. In a MAUI project, don’t assume that every packaged component is DEX or that the .NET managed payload explains the DEX result.
- Inspect broad keep rules and packages that remain large, then follow the optimization guidance for the build system and tools the project actually uses. Google’s guidance covers R8, compatible alternative optimizers, and secondary DEX post-processors.
- Rebuild and inspect the resulting bundle after changing rules or dependencies. The size and metadata to evaluate are those in the artifact you submit, not a different local build.
- Use the Play Console result to confirm whether the change resolved the finding. There is no universal MAUI setting established here that fixes every app’s score.
Why CoreCLR or ReadyToRun is not a DEX fix
CoreCLR, JIT, ReadyToRun, and NativeAOT describe .NET runtime or managed-code execution and compilation choices. R8 and related tools optimize Android DEX content. Google’s documentation does not establish a universal mapping from MAUI project settings to the exact percentages Play scores, and Microsoft’s runtime guidance does not say that CoreCLR or ReadyToRun alone passes or fails Google’s metric.
Microsoft’s .NET 11 RC 1 notes illustrate why build and runtime results should not be confused with the DEX score. In the documented sample and build conditions, a managed-source change in a Release CoreCLR MAUI sample improved from 68.32 seconds to 52.31 seconds, while a manifest change improved from 39.74 seconds to 10.97 seconds. Clean-build type-map generation improved from 3,204 milliseconds to 792 milliseconds. The same notes report partial ReadyToRun startup improvements of 2.4% for the basic template and 4.5% for the sample-content template, with package-size increases of 65,536 bytes and 266,240 bytes, respectively. These are sample-specific measurements, not universal promises or measurements of DEX optimization.
For the warning “DEX code optimization is below our threshold,” the useful path is therefore to measure the uploaded bundle’s uncompressed DEX, inspect applicable R8 metadata, and verify the evaluated status in Play Console. Treat .NET runtime settings as separate decisions unless a change demonstrably alters the DEX content and the resulting Google evaluation.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Quick Recap
Best Value
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




