ART: Update list of reserved boot class path packages.
(cherry picked from commit 1ade9f4749a052b469aba444fb023452474e33c3)
Test: aosp_taimen-userdebug boots.
Test: oatdump --instruction-set=arm64 \
--oat-file=$ANDROID_PRODUCT_OUT/system/framework/oat/arm64/services.odex \
--dex-file=$ANDROID_PRODUCT_OUT/system/framework/services.jar | \
grep -E 'Landroid/net/.*\(OatClass.*Compiled\)$' | \
grep -vE '\(NotReady\)' # Filter out unresolved classes
# Empty output. (Many classes without the last grep.)
Bug: 151314205
Merged-In: I633fe53a3bc2e5ed93e523428d7dec18363971cf
Change-Id: Ib6c48bb3c729d5d6eae40fd680ca7c392ae89cc7
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index 9fd676b..3376bdd 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -3151,10 +3151,27 @@
std::string_view descriptor_sv(descriptor);
return
// Reserved conscrypt packages (includes sub-packages under these paths).
- StartsWith(descriptor_sv, "Landroid/net/ssl/") ||
+ // StartsWith(descriptor_sv, "Landroid/net/ssl/") || // Covered by android.net below.
StartsWith(descriptor_sv, "Lcom/android/org/conscrypt/") ||
// Reserved updatable-media package (includes sub-packages under this path).
- StartsWith(descriptor_sv, "Landroid/media/");
+ StartsWith(descriptor_sv, "Landroid/media/") ||
+ // Reserved framework-mediaprovider package (includes sub-packages under this path).
+ StartsWith(descriptor_sv, "Landroid/provider/") ||
+ // Reserved framework-statsd packages (includes sub-packages under these paths).
+ StartsWith(descriptor_sv, "Landroid/app/") ||
+ StartsWith(descriptor_sv, "Landroid/os/") ||
+ StartsWith(descriptor_sv, "Landroid/util/") ||
+ // Reserved framework-permission packages (includes sub-packages under this path).
+ StartsWith(descriptor_sv, "Landroid/permission/") ||
+ // StartsWith(descriptor_sv, "Landroid/app/role/") || // Covered by android.app above.
+ // Reserved framework-sdkextensions package (includes sub-packages under this path).
+ // StartsWith(descriptor_sv, "Landroid/os/ext/") || // Covered by android.os above.
+ // Reserved framework-wifi packages (includes sub-packages under these paths).
+ StartsWith(descriptor_sv, "Landroid/hardware/wifi/") ||
+ // StartsWith(descriptor_sv, "Landroid/net/wifi/") || // Covered by android.net below.
+ StartsWith(descriptor_sv, "Landroid/x/net/wifi/") ||
+ // Reserved framework-tethering package (includes sub-packages under this path).
+ StartsWith(descriptor_sv, "Landroid/net/");
}
// Helper for maintaining DefineClass counting. We need to notify callbacks when we start/end a