ART: Update list of reserved boot class path packages.
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
Change-Id: I633fe53a3bc2e5ed93e523428d7dec18363971cf
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index 05a03e1..4e3c250 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -3149,10 +3149,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