SDK libraries.

Design: go/sdk-android

Basic boilerplate code, only adding a concept of SDK library to the OS.
Additional public APIs and more custom processing are to follow.

Tests are added in ag/16348319.
Can't submit together because of the checked build error: AndroidManifest.xml:32: Error: Misspelled tag <sdk-library>: Did you mean <uses-library> ? [ManifestTypo]
Apparently it needs updated aapt2 before it can process the new manifest even though the aapt2 is part of this change.

Bug: 207413168
Test: atest AndroidPackageTest ScanTests PackageManagerSettingsTests PackageManagerComponentLabelIconOverrideTest PackageManagerShellCommandTest

Change-Id: I9ea77ba3a0550ef7d58778a3a6cb402f09e2d8d7
34 files changed