Age | Commit message (Collapse) | Author |
|
Bug: 220074017
Change-Id: Idfdd94e902f656ac65a2a75dfdd199f6f85ba472
|
|
|
|
Bug: 171506470
Test: Build
Change-Id: I46d4df5f27783a96a58c966b113391ea3bc112cb
|
|
|
|
Bug: 186864416
Test: Builds
Change-Id: I04dfc5c2c7143825334ebc62742e335b8c889492
|
|
Calling pop_back on an empty container results in undefined behavior.
aapt2 dump badging seg faults when used on an APK with no uses-sdk.
Bug: 188461703
Test: aapt2 dump badging HelloAppTest.apk
Change-Id: I8d8308a06d542f003ae399629bdbfb5b845674fc
|
|
|
|
When passing a single iterator to std::vector::eraase, only element at
that iterator is removed. If no elements are filtered, std::remove_if()
returns the end iterator, attempting to erase() the end iterator can
cause segmentation fault. This bug causes signing test to fail.
https://atp.googleplex.com/tests/asit/ota/signing?tabId=test_run
Test: aapt2
PRODUCT/app/CalculatorGooglePrebuilt/CalculatorGooglePrebuilt.apk
Bug: 175789289
Bug: 178554651
Change-Id: I813055238bef2dcbdf76172a00b3f44ae940b759
(cherry picked from commit b88ccf80aa884df039cd13c5a31f3e08065d487e)
|
|
Fixes BinaryResourceParser loading of alias chunk and makes changes
that did not get committed in 2fedba9a32d9e92344eaf6e9faf5b43e1bc2ae70.
Bug: 183411356
Test: aapt2_test
Change-Id: Ieff9166100019f38ddcfe900014709b15db24e43
|
|
To allow apps that compiled against a pre-release SDK to continue
working for a period of time after API finalization, a new tag,
<staging-public-group-final>, has been added to aapt2.
When finalizing the framework resource API, converting
<staging-public-group> tags to <staging-public-group-final> will
cause aapt2 to generate the resource table so that there is a resource
entry for the old non-finalized (staged) resource ID and another entry
for the finalized resource ID of newly finalized resources. This allows
an application that compiled against the pre-release SDK to continue
resolving resources using pre-release resource IDs.
All references to pre-release resource IDs will be rewritten to their
finalized resource IDs through the information stored in the new staged
alias chunk. This allows applications compiled against
<staging-public-group> resources to use the newly finalized
resource ID without re-compilation.
When an application is re-compiled against the SDK with
<staging-public-group-final> tags, the application will use the
finalized resource IDs.
This change limits the use of the alias chunk to the framework for S.
Bug: 183411356
Test: aapt2_test
Change-Id: Iba1c3033c3c2f32de8e4a19b58d3921c971092c4
|
|
|
|
|
|
Reference::allow_raw was left uninitialized.
Bug: 175616308
Test: aapt2_tests
Change-Id: I58a560c7fb278c1aa2b415e456f849999c835155
|
|
When an APK defines multiple "uses-sdk" tags, the Android runtime only
uses the minSdkVersion and targetSdkVersion values from the last
occurrence of the "uses-sdk" tag.
For example an application with the following tags:
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="29"/>
<uses-sdk android:maxSdkVersion="28"/>
Will have the following version codes at runtime:
minSdk=1 targetSdk=1
Another example:
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="28"/>
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="19"/>
Will have the following version codes at runtime:
minSdk=5 targetSdk=19
AAPT2 must print the version data from only the last tag, skipping other
occurrences of the tag.
Bug: 175789289
Test: manual
Change-Id: If0fece7de1d96046221c89d1b12515bc5c15c301
|
|
AAPT2 Macros are compile-time resources definitions that are expanded
when referenced during the link phase.
A macro must be defined in the res/values.xml directory. A macro
definition for a macro named "foo" looks like the following:
<macro name="foo">contents</macro>
When "@macro/foo" is used in the res/values directory or in a compiled
XML file, the contents of the macro replace the macro reference and
then the substituted contents are compiled and linked. If the macro
contents reference xml namespaces from its original definition, the
namespaces of the original macro definition will be used to determine
which package is being referenced.
Macros can be used anywhere resources can be referenced using the
@package:type/entry syntax.
Macros are not included in the final resource table or the R.java since
they are not actual resources.
Bug: 175616308
Test: aapt2_tests
Change-Id: I48b29ab6564357b32b4b4e32bff7ef06036382bc
|
|
Added SPDX-license-identifier-Apache-2.0 to:
core/tests/hosttests/test-apps/DownloadManagerTestApp/Android.mk
core/tests/hosttests/test-apps/MultiDexLegacyAndException/Android.mk
core/tests/hosttests/test-apps/MultiDexLegacyTestApp/Android.mk
core/tests/hosttests/test-apps/MultiDexLegacyTestAppTests/Android.mk
core/tests/hosttests/test-apps/MultiDexLegacyTestAppTests2/Android.mk
core/tests/hosttests/test-apps/MultiDexLegacyTestAppWithCorruptedDex/Android.mk
core/tests/hosttests/test-apps/MultiDexLegacyTestServices/Android.mk
core/tests/hosttests/test-apps/MultiDexLegacyTestServicesTests2/Android.mk
core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v1/Android.mk
core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v2/Android.mk
core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v3/Android.mk
core/tests/overlaytests/host/test-apps/SignatureOverlay/Android.mk
core/tests/overlaytests/host/test-apps/UpdateOverlay/Android.mk
packages/Android.bp
packages/SystemUI/tests/Android.mk
services/tests/servicestests/test-apps/PackageParsingTestManifests/Android.bp
tests/Camera2Tests/CameraToo/Android.mk
tests/Camera2Tests/CameraToo/tests/Android.mk
tests/Camera2Tests/SmartCamera/SimpleCamera/Android.mk
tests/Camera2Tests/SmartCamera/SimpleCamera/tests/Android.mk
tests/CanvasCompare/Android.mk
tests/FlickerTests/test-apps/Android.bp
tests/LockTaskTests/Android.mk
tests/SoundTriggerTests/Android.mk
tools/aapt2/integration-tests/MergeOnlyTest/App/Android.mk
tools/aapt2/integration-tests/NamespaceTest/App/Android.mk
tools/aapt2/integration-tests/NamespaceTest/Split/Android.mk
tools/fonts/Android.bp
Bug: 68860345
Bug: 151177513
Bug: 151953481
Test: m all
Exempt-From-Owner-Approval: janitorial work
Change-Id: Ic480b653df5da840f5e65b818af3de5c8417ab4a
|
|
|
|
For future macro support, aapt2 must be able to convert Reference
values into other Value types. Currently a DescendingValueVisitor is
used to visit all of the References in a ResourceTable or a compiled
XML file to set their resource ids during the link phase. This was fine
since we were only mutating the resource id of the visited Reference.
A macro may reference a String, BinaryPrimitive, or any other Item
type. During the link phase, we will need to transform references to
macros into the values of the macros.
The only parameter in the methods of the ValueVisitor interface is a
raw pointer to the type being visited. The visitor interface does not
support reassigning the visited type to a different type.
ValueTransformer is a new interface for consuming a Value type and
transforming it into a compatible Value type. This change refactors
Value::Clone to use this interface.
Bug: 175616308
Test: aapt2_tests
Change-Id: Ic1b9d718b932c208764114cd9c74d880e189ccb0
|
|
|
|
To make S finalization easier, this changes the framework SDK so that
apps linking against it will be able to continue working as expected
after the first phase of SDK finalization.
During the first phase of SDK finalization, the resource ids of
resources that have not been removed are finalized.
staging-public-group tags are converted to staging-public-group-final
tags in order to encode into the framework what the staged resource id
of a finalized resource was. When an app recompiles, it will use the
finalized resource id. Then after all apps recompile, phase 2 of
finalization begins, in which the staging-public-group-final tags are
removed so apps can no longer use the staged resource ids.
Apps that link against the SDK (provided they are using a recent
version of aapt) will encode references to staged resources as
TYPE_DYNAMIC_REFERENCE and TYPE_DYNAMIC_ATTRIBUTE. The values of R
fields for staged resources are defined out-of-line to prevent them
from being inlined into apps linking agsint the SDK. This allows the
resource ids to change during phase 1 of API finalization.
Bug: 183413192
Test: `aapt2 diff` and resource ids stayed the same
Test: `aapt2 dump` of framework-res.apk and observe staged resources
Change-Id: Ie2275c608297a5f63dde8b1cf795415112cbcc24
|
|
Before flattening the resource table of a feature split, if the package
name of the feature split is the same as the base package name, the
split name is appended to the end of the feature's package name.
A bug was causing the rewritten package name to not be applied to the
feature package which resulted in the feature split being flattened
under the same package name as the base.
Bug: 184034454
Test: `m CtsSplitAppFeatureWarm_v23` && `aapt2 dump resources`
to observe that package name is correct
Change-Id: I0a0ac57764f599c4dd05326a222056a3c52a4ae3
|
|
A recent change broke aapt2 diff. We need to update the iterators when
an package, type, or entry is not missing from either APK.
Bug: 184066458
Test: `aapt2 diff` with framework before and after staging changes
Change-Id: I9138b9bd80aec24488feca6e06be1d7cf5775290
|
|
staging-public-group is a tag for putting resources that have been
added during platform development, but have not yet been finalized,
into a separate resource id namespace.
R.java fields of staged resources are non-final, so when the SDK is
finalized, applications using the android R.java will automatically
use the new finalized resource id without having to recompile.
Staged resources can exist either in the same type id as the type's
non-staged counterpart or in a separate type id. Multiple
staging-public-group tags each with a different type id can exist
simultaneously, which allows for multiple versions of the platform
to be developed at once.
Bug: 183411093
Test: aapt2_tests
Change-Id: Ibb6c84c3626751e33c6097f35a03e306bb85616a
|
|
This changes refactors tests to use the NewResourceBuilder class
that makes it easier to construct resource entries.
Bug: 183102797
Test: aapt2_tests
Change-Id: I851f9fb99a003769f8df8c1876997eee0864822a
|
|
For the SDK finalization changes, aapt2 must be able to handle
resources of the same type having different type ids. The
ResourceTable data structure currently stores package ids and type ids
on ResourceTablePackage and ResourceTableType respectively. This
prevents resource entries of the same type from having different type
ids without having to create another ResourceTableType structure.
JavaClassGenerator assumes each type only appears once in the
ResourceTable and it would need to dedupe the types to ensure one class
containing all the resource types ids is generated. TableFlattener on
the other hand needs a separate ResourceTableType for each type/id
combination so that the types are flattened into separate
ResTable_types.
This change simplifies aapt2's ResourceTable data structure:
- Resource ids are stored exclusively on ResourceEntry structures
meaning multiple entries can have different type ids while being
stored in the same ResourceTableType. Classes like JavaClassGenerator
can simply iterate over a type to see all the resources of the type
regardless of what their type id is.
- ResourceTable::GetPartitionedView() retrieves a list of resources
sorted and partitioned by package id, type id, and entry id. Classes
like TableFlattener can use this view to get separate
ResourceTavleTypes for each different type id that a type has.
These changes will also make it easy to have a resource span multiple
type ids if it exhausts all of the entry ids in one type id.
The new NewResourcesBuilder replaces the numerous setter methods on
ResourceTable.
Bug: 183102797
Test: aapt2_tests
Change-Id: I60dbcb24143bb958333899cafa7d41faa226d203
|
|
Since developers can declare the "neverForLocation" flag in their
manifest as public API, we should also offer a way to inspect the
value that we parsed from the manifest.
Bug: 183816684
Test: aapt2 dump badging \
CtsAppThatRequestsBluetoothPermissionNeverForLocation31.apk
Change-Id: I93c0371d6fb1a0ca928aa26265074acee2bee879
|
|
|
|
If a shared library exposes an attribute and a client uses the
attribute in its own styleable, the value of the lib attribute
resource id in the client styleable must be fixed with the correct
package id at runtime. Since the client will not have an
onResourcesLoaded to call, the client should directly reference the
attribute resource field in its styleable.
Bug: 147674078
Test: aapt2_tests
Change-Id: I8e64bb2d3165a7072e2604fe1730b248545978f4
|
|
Added SPDX-license-identifier-Apache-2.0 to:
apct-tests/perftests/autofill/Android.bp
apct-tests/perftests/blobstore/Android.bp
apct-tests/perftests/core/Android.bp
apct-tests/perftests/core/apps/overlay/Android.bp
apct-tests/perftests/core/apps/reources_manager/Android.bp
apct-tests/perftests/core/jni/Android.bp
apct-tests/perftests/multiuser/Android.bp
apct-tests/perftests/multiuser/apps/dummyapp/Android.bp
apct-tests/perftests/packagemanager/Android.bp
apct-tests/perftests/packagemanager/apps/query-all/Android.bp
apct-tests/perftests/textclassifier/Android.bp
apct-tests/perftests/utils/Android.bp
apct-tests/perftests/windowmanager/Android.bp
apex/Android.bp
apex/blobstore/framework/Android.bp
apex/blobstore/service/Android.bp
apex/jobscheduler/framework/Android.bp
apex/jobscheduler/service/Android.bp
apex/media/Android.bp
apex/media/aidl/Android.bp
apex/media/framework/Android.bp
cmds/am/Android.bp
cmds/app_process/Android.bp
cmds/appops/Android.bp
cmds/appwidget/Android.bp
cmds/backup/Android.bp
cmds/bmgr/Android.bp
cmds/bootanimation/Android.bp
cmds/bu/Android.bp
cmds/content/Android.bp
cmds/dpm/Android.bp
cmds/hid/Android.bp
cmds/hid/jni/Android.bp
cmds/idmap2/Android.bp
cmds/ime/Android.bp
cmds/incident/Android.bp
cmds/incident_helper/Android.bp
cmds/incidentd/Android.bp
cmds/input/Android.bp
cmds/interrupter/Android.bp
cmds/locksettings/Android.bp
cmds/pm/Android.bp
cmds/requestsync/Android.bp
cmds/screencap/Android.bp
cmds/sm/Android.bp
cmds/svc/Android.bp
cmds/telecom/Android.bp
cmds/uiautomator/Android.bp
cmds/uiautomator/cmds/uiautomator/Android.bp
cmds/uiautomator/instrumentation/Android.bp
cmds/uiautomator/library/Android.bp
cmds/vr/Android.bp
cmds/wm/Android.bp
config/Android.bp
core/java/android/service/wallpaper/Android.bp
core/jni/Android.bp
core/sysprop/Android.bp
core/tests/BroadcastRadioTests/Android.bp
core/tests/ConnectivityManagerTest/Android.bp
core/tests/PackageInstallerSessions/Android.bp
core/tests/PlatformCompatFramework/Android.bp
core/tests/bandwidthtests/Android.bp
core/tests/benchmarks/Android.bp
core/tests/bluetoothtests/Android.bp
core/tests/bugreports/Android.bp
core/tests/coretests/Android.bp
core/tests/coretests/BinderDeathRecipientHelperApp/Android.bp
core/tests/coretests/BinderProxyCountingTestApp/Android.bp
core/tests/coretests/BinderProxyCountingTestService/Android.bp
core/tests/coretests/BstatsTestApp/Android.bp
core/tests/coretests/DisabledTestApp/Android.bp
core/tests/coretests/EnabledTestApp/Android.bp
core/tests/coretests/aidl/Android.bp
core/tests/coretests/apks/Android.bp
core/tests/coretests/apks/install/Android.bp
core/tests/coretests/apks/install_bad_dex/Android.bp
core/tests/coretests/apks/install_complete_package_info/Android.bp
core/tests/coretests/apks/install_decl_perm/Android.bp
core/tests/coretests/apks/install_jni_lib/Android.bp
core/tests/coretests/apks/install_jni_lib_open_from_apk/Android.bp
core/tests/coretests/apks/install_loc_auto/Android.bp
core/tests/coretests/apks/install_loc_internal/Android.bp
core/tests/coretests/apks/install_loc_sdcard/Android.bp
core/tests/coretests/apks/install_loc_unspecified/Android.bp
core/tests/coretests/apks/install_use_perm_good/Android.bp
core/tests/coretests/apks/install_uses_feature/Android.bp
core/tests/coretests/apks/install_verifier_bad/Android.bp
core/tests/coretests/apks/install_verifier_good/Android.bp
core/tests/coretests/apks/keyset/Android.bp
core/tests/coretests/apks/locales/Android.bp
core/tests/coretests/apks/overlay_config/Android.bp
core/tests/coretests/apks/version/Android.bp
core/tests/coretests/apks/version_nosys/Android.bp
core/tests/featureflagtests/Android.bp
core/tests/hdmitests/Android.bp
core/tests/hosttests/test-apps/AutoLocTestApp/Android.bp
core/tests/hosttests/test-apps/AutoLocVersionedTestApp_v1/Android.bp
core/tests/hosttests/test-apps/AutoLocVersionedTestApp_v2/Android.bp
core/tests/hosttests/test-apps/ExternalLocAllPermsTestApp/Android.bp
core/tests/hosttests/test-apps/ExternalLocPermsFLTestApp/Android.bp
core/tests/hosttests/test-apps/ExternalLocTestApp/Android.bp
core/tests/hosttests/test-apps/ExternalLocVersionedTestApp_v1/Android.bp
core/tests/hosttests/test-apps/ExternalLocVersionedTestApp_v2/Android.bp
core/tests/hosttests/test-apps/ExternalSharedPerms/Android.bp
core/tests/hosttests/test-apps/ExternalSharedPermsBT/Android.bp
core/tests/hosttests/test-apps/ExternalSharedPermsDiffKey/Android.bp
core/tests/hosttests/test-apps/ExternalSharedPermsFL/Android.bp
core/tests/hosttests/test-apps/InternalLocTestApp/Android.bp
core/tests/hosttests/test-apps/MultiDexLegacyTestServicesTests/Android.bp
core/tests/hosttests/test-apps/NoLocTestApp/Android.bp
core/tests/hosttests/test-apps/NoLocVersionedTestApp_v1/Android.bp
core/tests/hosttests/test-apps/NoLocVersionedTestApp_v2/Android.bp
core/tests/hosttests/test-apps/SharedUid/32/Android.bp
core/tests/hosttests/test-apps/SharedUid/32/jni/Android.bp
core/tests/hosttests/test-apps/SharedUid/64/Android.bp
core/tests/hosttests/test-apps/SharedUid/64/jni/Android.bp
core/tests/hosttests/test-apps/SharedUid/dual/Android.bp
core/tests/hosttests/test-apps/SharedUid/dual/jni/Android.bp
core/tests/hosttests/test-apps/SharedUid/java_only/Android.bp
core/tests/hosttests/test-apps/SimpleTestApp/Android.bp
core/tests/hosttests/test-apps/UpdateExtToIntLocTestApp_v1_ext/Android.bp
core/tests/hosttests/test-apps/UpdateExtToIntLocTestApp_v2_int/Android.bp
core/tests/hosttests/test-apps/UpdateExternalLocTestApp_v1_ext/Android.bp
core/tests/hosttests/test-apps/UpdateExternalLocTestApp_v2_none/Android.bp
core/tests/hosttests/test-apps/VersatileTestApp_Auto/Android.bp
core/tests/hosttests/test-apps/VersatileTestApp_External/Android.bp
core/tests/hosttests/test-apps/VersatileTestApp_Internal/Android.bp
core/tests/hosttests/test-apps/VersatileTestApp_None/Android.bp
core/tests/mockingcoretests/Android.bp
core/tests/notificationtests/Android.bp
core/tests/overlaytests/device/Android.bp
core/tests/overlaytests/device/test-apps/AppOverlayOne/Android.bp
core/tests/overlaytests/device/test-apps/AppOverlayTwo/Android.bp
core/tests/overlaytests/device/test-apps/FrameworkOverlay/Android.bp
core/tests/overlaytests/host/Android.bp
core/tests/overlaytests/remount/Android.bp
core/tests/overlaytests/remount/test-apps/Overlay/Android.bp
core/tests/overlaytests/remount/test-apps/SharedLibrary/Android.bp
core/tests/overlaytests/remount/test-apps/SharedLibraryOverlay/Android.bp
core/tests/overlaytests/remount/test-apps/Target/Android.bp
core/tests/packagemanagertests/Android.bp
core/tests/privacytests/Android.bp
core/tests/screenshothelpertests/Android.bp
core/tests/systemproperties/Android.bp
core/tests/utillib/Android.bp
core/tests/utiltests/Android.bp
core/tests/utiltests/jni/Android.bp
core/tests/uwbtests/Android.bp
core/xsd/Android.bp
core/xsd/vts/Android.bp
data/etc/Android.bp
data/etc/car/Android.bp
data/fonts/Android.bp
data/keyboards/Android.mk
drm/jni/Android.bp
errorprone/Android.bp
graphics/proto/Android.bp
keystore/Android.bp
keystore/tests/Android.bp
libs/WindowManager/Jetpack/Android.bp
libs/WindowManager/Shell/Android.bp
libs/WindowManager/Shell/tests/Android.bp
libs/androidfw/Android.bp
libs/androidfw/fuzz/resourcefile_fuzzer/Android.bp
libs/hostgraphics/Android.bp
libs/incident/Android.bp
libs/input/Android.bp
libs/input/tests/Android.bp
libs/protoutil/Android.bp
libs/services/Android.bp
libs/storage/Android.bp
libs/usb/tests/AccessoryChat/Android.bp
libs/usb/tests/AccessoryChat/accessorychat/Android.bp
location/lib/Android.bp
location/tests/Android.bp
location/tests/locationtests/Android.bp
lowpan/tests/Android.bp
media/Android.bp
media/java/Android.bp
media/java/android/media/tv/tunerresourcemanager/Android.bp
media/jni/Android.bp
media/jni/audioeffect/Android.bp
media/jni/soundpool/Android.bp
media/jni/soundpool/tests/Android.bp
media/lib/remotedisplay/Android.bp
media/lib/signer/Android.bp
media/lib/tvremote/Android.bp
media/lib/tvremote/tests/Android.bp
media/mca/filterfw/Android.bp
media/mca/filterfw/native/Android.bp
media/mca/filterpacks/Android.bp
media/mca/samples/CameraEffectsRecordingSample/Android.bp
media/mca/tests/Android.bp
media/native/midi/Android.bp
media/packages/BluetoothMidiService/Android.bp
media/packages/BluetoothMidiService/tests/unit/Android.bp
media/tests/AudioPolicyTest/Android.bp
media/tests/CameraBrowser/Android.bp
media/tests/EffectsTest/Android.bp
media/tests/MediaDump/Android.bp
media/tests/MediaFrameworkTest/Android.bp
media/tests/MediaRouter/Android.bp
media/tests/MtpTests/Android.bp
media/tests/ScoAudioTest/Android.bp
media/tests/SoundPoolTest/Android.bp
media/tests/TunerTest/Android.bp
media/tests/audiotests/Android.bp
media/tests/players/Android.bp
mime/Android.bp
native/android/Android.bp
native/graphics/jni/Android.bp
native/webview/loader/Android.bp
nfc-extras/Android.bp
nfc-extras/tests/Android.bp
packages/AppPredictionLib/Android.bp
packages/BackupEncryption/Android.bp
packages/BackupEncryption/test/robolectric-integration/Android.bp
packages/BackupEncryption/test/robolectric/Android.bp
packages/BackupEncryption/test/unittest/Android.bp
packages/BackupRestoreConfirmation/Android.bp
packages/CarSystemUI/Android.bp
packages/CarrierDefaultApp/Android.bp
packages/CarrierDefaultApp/tests/unit/Android.bp
packages/CompanionDeviceManager/Android.bp
packages/Connectivity/framework/Android.bp
packages/Connectivity/service/Android.bp
packages/CtsShim/Android.bp
packages/CtsShim/build/Android.bp
packages/CtsShim/build/jni/Android.bp
packages/DynamicSystemInstallationService/Android.bp
packages/DynamicSystemInstallationService/tests/Android.bp
packages/EasterEgg/Android.bp
packages/EncryptedLocalTransport/Android.bp
packages/ExtShared/Android.bp
packages/ExternalStorageProvider/Android.bp
packages/ExternalStorageProvider/tests/Android.bp
packages/FakeOemFeatures/Android.bp
packages/FusedLocation/Android.bp
packages/InputDevices/Android.bp
packages/LocalTransport/Android.bp
packages/PackageInstaller/Android.bp
packages/PrintRecommendationService/Android.bp
packages/PrintSpooler/Android.bp
packages/PrintSpooler/jni/Android.bp
packages/PrintSpooler/tests/outofprocess/Android.bp
packages/SettingsLib/ActionBarShadow/Android.bp
packages/SettingsLib/ActionButtonsPreference/Android.bp
packages/SettingsLib/AdaptiveIcon/Android.bp
packages/SettingsLib/Android.bp
packages/SettingsLib/AppPreference/Android.bp
packages/SettingsLib/BarChartPreference/Android.bp
packages/SettingsLib/DisplayDensityUtils/Android.bp
packages/SettingsLib/EntityHeaderWidgets/Android.bp
packages/SettingsLib/HelpUtils/Android.bp
packages/SettingsLib/LayoutPreference/Android.bp
packages/SettingsLib/ProgressBar/Android.bp
packages/SettingsLib/RadioButtonPreference/Android.bp
packages/SettingsLib/RestrictedLockUtils/Android.bp
packages/SettingsLib/SchedulesProvider/Android.bp
packages/SettingsLib/SearchProvider/Android.bp
packages/SettingsLib/SearchWidget/Android.bp
packages/SettingsLib/SettingsSpinner/Android.bp
packages/SettingsLib/SettingsTheme/Android.bp
packages/SettingsLib/Tile/Android.bp
packages/SettingsLib/Utils/Android.bp
packages/SettingsLib/search/Android.bp
packages/SettingsLib/tests/integ/Android.bp
packages/SettingsLib/tests/robotests/Android.bp
packages/SettingsProvider/Android.bp
packages/SharedStorageBackup/Android.bp
packages/Shell/Android.bp
packages/Shell/tests/Android.bp
packages/SimAppDialog/Android.bp
packages/SoundPicker/Android.bp
packages/StatementService/Android.bp
packages/SystemUI/Android.bp
packages/SystemUI/plugin/Android.bp
packages/SystemUI/plugin/ExamplePlugin/Android.bp
packages/SystemUI/plugin_core/Android.bp
packages/SystemUI/shared/Android.bp
packages/VpnDialogs/Android.bp
packages/WAPPushManager/Android.bp
packages/WAPPushManager/tests/Android.bp
packages/WallpaperBackup/Android.bp
packages/WallpaperCropper/Android.bp
packages/overlays/Android.mk
packages/overlays/tests/Android.bp
packages/services/PacProcessor/Android.bp
packages/services/PacProcessor/jni/Android.bp
packages/services/Proxy/Android.bp
proto/Android.bp
rs/jni/Android.mk
samples/demo/haptic-assessment/Android.bp
sax/tests/saxtests/Android.bp
services/Android.bp
services/accessibility/Android.bp
services/appprediction/Android.bp
services/appwidget/Android.bp
services/autofill/Android.bp
services/backup/Android.bp
services/backup/backuplib/Android.bp
services/companion/Android.bp
services/contentcapture/Android.bp
services/contentsuggestions/Android.bp
services/core/Android.bp
services/core/java/com/android/server/vcn/Android.bp
services/core/jni/Android.bp
services/core/xsd/Android.bp
services/core/xsd/vts/Android.bp
services/coverage/Android.bp
services/devicepolicy/Android.bp
services/incremental/Android.bp
services/midi/Android.bp
services/net/Android.bp
services/people/Android.bp
services/print/Android.bp
services/profcollect/Android.bp
services/restrictions/Android.bp
services/robotests/Android.bp
services/robotests/backup/Android.bp
services/systemcaptions/Android.bp
services/tests/PackageManagerComponentOverrideTests/Android.bp
services/tests/PackageManagerServiceTests/host/Android.bp
services/tests/PackageManagerServiceTests/host/test-apps/Android.bp
services/tests/mockingservicestests/Android.bp
services/tests/rescueparty/Android.bp
services/tests/servicestests/Android.bp
services/tests/servicestests/aidl/Android.bp
services/tests/servicestests/apks/Android.bp
services/tests/servicestests/apks/install-split-base/Android.bp
services/tests/servicestests/apks/install-split-feature-a/Android.bp
services/tests/servicestests/apks/install_intent_filters/Android.bp
services/tests/servicestests/apks/install_uses_sdk/Android.bp
services/tests/servicestests/test-apps/ConnTestApp/Android.bp
services/tests/servicestests/test-apps/JobTestApp/Android.bp
services/tests/servicestests/test-apps/PackageParserApp/Android.bp
services/tests/servicestests/test-apps/PackageParsingTestManifests/Android.bp
services/tests/servicestests/test-apps/SimpleServiceTestApp/Android.bp
services/tests/servicestests/test-apps/SuspendTestApp/Android.bp
services/tests/shortcutmanagerutils/Android.bp
services/tests/uiservicestests/Android.bp
services/tests/wmtests/Android.bp
services/usage/Android.bp
services/usb/Android.bp
services/voiceinteraction/Android.bp
services/wifi/Android.bp
startop/apps/test/Android.bp
startop/iorap/Android.bp
startop/iorap/functional_tests/Android.bp
startop/iorap/stress/Android.bp
startop/iorap/tests/Android.bp
startop/view_compiler/Android.bp
startop/view_compiler/dex_builder_test/Android.bp
test-base/hiddenapi/Android.bp
test-mock/Android.bp
test-runner/tests/Android.bp
tests/AccessibilityEventsLogger/Android.bp
tests/AccessoryDisplay/common/Android.bp
tests/AccessoryDisplay/sink/Android.bp
tests/AccessoryDisplay/source/Android.bp
tests/ActivityManagerPerfTests/stub-app/Android.bp
tests/ActivityManagerPerfTests/test-app/Android.bp
tests/ActivityManagerPerfTests/tests/Android.bp
tests/ActivityManagerPerfTests/utils/Android.bp
tests/ActivityTests/Android.bp
tests/ActivityViewTest/Android.bp
tests/AmSlam/Android.bp
tests/ApkVerityTest/Android.bp
tests/ApkVerityTest/ApkVerityTestApp/Android.bp
tests/ApkVerityTest/block_device_writer/Android.bp
tests/AppLaunch/Android.bp
tests/AppLaunchWear/Android.bp
tests/AppResourcesLoaders/Android.bp
tests/AppResourcesLoaders/Overlay/Android.bp
tests/Assist/Android.bp
tests/AutoVerify/app1/Android.bp
tests/AutoVerify/app2/Android.bp
tests/AutoVerify/app3/Android.bp
tests/AutoVerify/app4/Android.bp
tests/BackgroundDexOptServiceIntegrationTests/Android.bp
tests/BandwidthTests/Android.bp
tests/BatteryWaster/Android.bp
tests/BiDiTests/Android.bp
tests/BlobStoreTestUtils/Android.bp
tests/BootImageProfileTest/Android.bp
tests/BrowserPowerTest/Android.bp
tests/Camera2Tests/SmartCamera/SimpleCamera/jni/Android.bp
tests/CameraPrewarmTest/Android.bp
tests/Codegen/Android.bp
tests/Compatibility/Android.bp
tests/CoreTests/android/Android.bp
tests/DataIdleTest/Android.bp
tests/DozeTest/Android.bp
tests/DpiTest/Android.bp
tests/DynamicCodeLoggerIntegrationTests/Android.mk
tests/FeatureSplit/base/Android.bp
tests/FeatureSplit/feature1/Android.bp
tests/FeatureSplit/feature2/Android.bp
tests/FixVibrateSetting/Android.bp
tests/FlickerTests/Android.bp
tests/FlickerTests/test-apps/Android.bp
tests/FlickerTests/test-apps/flickerapp/Android.bp
tests/FrameworkPerf/Android.bp
tests/GamePerformance/Android.bp
tests/GridLayoutTest/Android.bp
tests/HierarchyViewerTest/Android.bp
tests/HugeBackup/Android.bp
tests/HwAccelerationTest/Android.bp
tests/Internal/Android.bp
tests/JankBench/Android.bp
tests/JobSchedulerPerfTests/Android.bp
tests/JobSchedulerTestApp/Android.bp
tests/LargeAssetTest/Android.bp
tests/LegacyAssistant/Android.bp
tests/LocalizationTest/Android.bp
tests/LocationTracker/Android.bp
tests/LotsOfApps/Android.bp
tests/LowStorageTest/Android.bp
tests/ManagedProfileLifecycleStressTest/Android.bp
tests/ManagedProfileLifecycleStressTest/app/DummyDPC/Android.bp
tests/MemoryUsage/Android.bp
tests/MirrorSurfaceTest/Android.bp
tests/NativeProcessesMemoryTest/Android.bp
tests/NetworkSecurityConfigTest/Android.bp
tests/NullHomeTest/Android.bp
tests/OdmApps/Android.bp
tests/OdmApps/app/Android.bp
tests/OdmApps/priv-app/Android.bp
tests/OneMedia/Android.bp
tests/PackageWatchdog/Android.bp
tests/PlatformCompatGating/Android.bp
tests/PlatformCompatGating/test-rules/Android.bp
tests/ProtoInputStreamTests/Android.bp
tests/RemoteDisplayProvider/Android.bp
tests/RenderThreadTest/Android.bp
tests/RollbackTest/Android.bp
tests/SerialChat/Android.bp
tests/ServiceCrashTest/Android.bp
tests/SharedLibrary/client/Android.bp
tests/SharedLibrary/lib/Android.bp
tests/ShowWhenLockedApp/Android.bp
tests/SmokeTest/Android.bp
tests/SmokeTest/tests/Android.bp
tests/SmokeTestApps/Android.bp
tests/SoundTriggerTestApp/Android.bp
tests/Split/Android.bp
tests/StagedInstallTest/Android.bp
tests/StatusBar/Android.bp
tests/SurfaceComposition/Android.bp
tests/SurfaceControlViewHostTest/Android.bp
tests/SystemMemoryTest/device/Android.bp
tests/SystemMemoryTest/host/Android.bp
tests/SystemUIDemoModeController/Android.bp
tests/TaskOrganizerTest/Android.bp
tests/TelephonyCommonTests/Android.bp
tests/TouchLatency/Android.bp
tests/TransformTest/Android.bp
tests/TtsTests/Android.bp
tests/UiBench/Android.bp
tests/UsageReportingTest/Android.bp
tests/UsageStatsPerfTests/Android.bp
tests/UsageStatsTest/Android.bp
tests/UsbHostExternalManagmentTest/AoapTestDevice/Android.bp
tests/UsbHostExternalManagmentTest/AoapTestHost/Android.bp
tests/UsbHostExternalManagmentTest/UsbHostExternalManagmentTestApp/Android.bp
tests/UsbManagerTests/Android.bp
tests/UsbManagerTests/lib/Android.bp
tests/UsbTests/Android.bp
tests/UsesFeature2Test/Android.bp
tests/VectorDrawableTest/Android.bp
tests/VoiceEnrollment/Android.bp
tests/VoiceInteraction/Android.bp
tests/WallpaperTest/Android.bp
tests/WindowAnimationJank/Android.bp
tests/WindowInsetsTests/Android.bp
tests/appwidgets/AppWidgetHostTest/Android.bp
tests/appwidgets/AppWidgetProviderTest/Android.bp
tests/backup/Android.mk
tests/benchmarks/Android.bp
tests/libs-permissions/Android.bp
tests/net/Android.bp
tests/net/common/Android.bp
tests/net/deflake/Android.bp
tests/net/integration/Android.bp
tests/net/jni/Android.bp
tests/net/smoketest/Android.bp
tests/notification/Android.bp
tests/permission/Android.bp
tests/privapp-permissions/Android.bp
tests/testables/Android.bp
tests/testables/tests/Android.bp
tests/utils/StubIME/Android.bp
tests/utils/hostutils/Android.bp
tests/utils/testutils/Android.bp
tests/vcn/Android.bp
tools/aapt/Android.bp
tools/aapt2/Android.bp
tools/aapt2/integration-tests/AutoVersionTest/Android.bp
tools/aapt2/integration-tests/BasicTest/Android.bp
tools/aapt2/integration-tests/MergeOnlyTest/LeafLib/Android.mk
tools/aapt2/integration-tests/MergeOnlyTest/LocalLib/Android.mk
tools/aapt2/integration-tests/NamespaceTest/LibOne/Android.mk
tools/aapt2/integration-tests/NamespaceTest/LibTwo/Android.mk
tools/aapt2/integration-tests/StaticLibTest/App/Android.bp
tools/aapt2/integration-tests/StaticLibTest/LibOne/Android.bp
tools/aapt2/integration-tests/StaticLibTest/LibTwo/Android.bp
tools/aapt2/integration-tests/SymlinkTest/Android.bp
tools/bit/Android.bp
tools/codegen/Android.bp
tools/dump-coverage/Android.bp
tools/incident_report/Android.bp
tools/incident_section_gen/Android.bp
tools/lock_agent/Android.bp
tools/locked_region_code_injection/Android.bp
tools/obbtool/Android.bp
tools/powermodel/Android.bp
tools/preload-check/Android.bp
tools/preload-check/device/Android.bp
tools/preload/loadclass/Android.bp
tools/processors/staledataclass/Android.bp
tools/processors/view_inspector/Android.bp
tools/protologtool/Android.bp
tools/sdkparcelables/Android.bp
tools/split-select/Android.bp
tools/streaming_proto/Android.bp
tools/validatekeymaps/Android.bp
wifi/java/Android.bp
wifi/tests/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:
libs/hwui/Android.bp
native/webview/plat_support/Android.bp
obex/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
SPDX-license-identifier-CC-BY SPDX-license-identifier-CPL-1.0
SPDX-license-identifier-GPL SPDX-license-identifier-GPL-2.0
SPDX-license-identifier-MIT SPDX-license-identifier-Unicode-DFS
SPDX-license-identifier-W3C legacy_unencumbered
to:
Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
legacy_unencumbered
to:
core/java/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-CPL-1.0
to:
test-base/Android.bp
test-runner/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL
to:
core/res/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL-2.0
to:
libs/usb/Android.bp
libs/usb/tests/accessorytest/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
to:
tools/preload/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
SPDX-license-identifier-Unicode-DFS
to:
api/Android.bp
boot/Android.bp
cmds/device_config/Android.bp
cmds/settings/Android.bp
core/api/Android.bp
core/tests/coretests/certs/Android.bp
core/tests/overlaytests/remount/test-apps/certs/Android.bp
core/tests/overlaytests/remount/test-apps/overlaid_apex/Android.bp
core/tests/overlaytests/remount/test-apps/overlay_apex/Android.bp
libs/tracingproxy/Android.bp
services/startop/Android.bp
test-legacy/Android.mk
tests/ApkVerityTest/testdata/Android.bp
tests/TransitionTests/Android.bp
Bug: 68860345
Bug: 151177513
Bug: 151953481
Test: m all
Exempt-From-Owner-Approval: janitorial work
Change-Id: Ib9737d8fb5ef5b90a2c14fe71f1a571079edcf02
Merged-In: Ib9737d8fb5ef5b90a2c14fe71f1a571079edcf02
|
|
ResTable_config of every ResTable_type is read from device every time
AssetManager::RebuildFilterList is invoked. For large APKs (like
framework-res.apk), this causes a large number of page faults
when accessing the config from disk. The configs are also used in the
slow path of AssetManager::FindEntryInternal, which makes it even
slower. Instead cache the config on the TypeSpec of its ApkAsset.
Bug: 177247024
Test: libandroidfw_tests
Change-Id: I66d507c4eeb2399f7558f3d9dfc53c157129ada0
|
|
ae613dd6c4 am: f454301ae6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1532909
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I22f3e4f97d523bd09b898ebdf4de18114cb4c34f
|
|
Test: m checkbuild continuous_instrumentation_tests continuous_instrumentation_tests_api_coverage continuous_native_tests device-tests platform_tests
Exempt-From-Owner-Approval: mechanical mass refactoring
Change-Id: I3117833c51cdb333cccdfd159d1582f2adef77db
|
|
55ef6167a2c235bd88c7216238b2001b46795b79
Change-Id: I02d4890d181655dfd0a14c188468db512559d27b
Merged-In: I02d4890d181655dfd0a14c188468db512559d27b
|
|
A new flag to inject revisionCode into the manifest for cts splits tests.
Bug: 174338944
Test: atest aapt2_tests
Change-Id: If5a089f37233f53af3012ca5eab17fab21eafd9c
|
|
|
|
Package name and shared user id could be used as part of filename
as prefix by other modules. Limits the length to 223 and reserves
32 for the OS.
Bug: 118768971
Test: atest aapt2_tests
Test: aapt2 link -I android.jar --manifest ManifestLongPackageName.xml
Test: aapt2 link -I android.jar --manifest ManifestLongSharedUserId.xml
Change-Id: Ic4b5b4647b9e253b79b663f4d7a9050f43bb8cf0
|
|
* changes:
Revert^2 "Do not cache bag parent stack until requested"
Revert^2 "Cache resolved theme values"
Set resource id correctly when resolve fails
Revert^2 "libandroidfw hardening for IncFs"
|
|
55ef6167a2c235bd88c7216238b2001b46795b79
Change-Id: I02d4890d181655dfd0a14c188468db512559d27b
|
|
Bug: 169258655
Test: aapt2_tests
Change-Id: Ia1c8e7c38fb882c3ce0aa2913b844cccdc5b8749
|
|
caff40cad3 am: c9acec6545 am: 518d35c017
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1481918
Change-Id: I78ffd81962fdfba38c46590e8b6ae76c582ab77b
|
|
|
|
Revert "Move map_ptr to incfs namspace"
Revert submission 12787270
Reason for revert: b/173250495
Reverted Changes:
I5cd1bc8a2:libandroidfw hardening for IncFs
Ice5dbcfb2:Move map_ptr to incfs namspace
I29ccdc8ed:Do not cache bag parent stack until requested
I1e9e9acaa:Cache resolved theme values
Change-Id: Ib90ef68339710086df41e9abe0833a542d03a74f
|
|
Migrate libandroifw to using incfs::util::map_ptr to prevent processes
from crashing when parsing the resources.arsc, parsing compiled xml,
files, and retrieving resource values.
This change propagates incremental failures to the JNI level where they
are raised as ResourcesNotFoundException.
Performance of ResourcesPerfWorkloads without change (time in
nanoseconds):
[1/3] com.android.resources.perf.PerfTest#youtube: PASSED (11.883s)
youtube_ns_median: 93812805
youtube_ns_standardDeviation: 4387062
youtube_ns_mean: 94455597
[2/3] com.android.resources.perf.PerfTest#maps: PASSED (11.265s)
maps_ns_standardDeviation: 2997543
maps_ns_mean: 83480371
maps_ns_median: 82210941
[3/3] com.android.resources.perf.PerfTest#gmail: PASSED (24.963s)
gmail_ns_median: 266141091
gmail_ns_standardDeviation: 3492043
gmail_ns_mean: 267472765
With change and verification forcibly enabled for all apks
(including the framework-res.apk):
[1/3] com.android.resources.perf.PerfTest#youtube: PASSED (11.646s)
youtube_ns_median: 101999396
youtube_ns_standardDeviation: 4625782
youtube_ns_mean: 102631770
[2/3] com.android.resources.perf.PerfTest#maps: PASSED (11.286s)
maps_ns_standardDeviation: 2692088
maps_ns_mean: 91326538
maps_ns_median: 90519884
[3/3] com.android.resources.perf.PerfTest#gmail: PASSED (24.694s)
gmail_ns_median: 290284442
gmail_ns_standardDeviation: 5764632
gmail_ns_mean: 291660464
With change and verification disabled:
[1/3] com.android.resources.perf.PerfTest#youtube: PASSED (11.748s)
youtube_ns_median: 95490747
youtube_ns_standardDeviation: 7282249
youtube_ns_mean: 98442515
[2/3] com.android.resources.perf.PerfTest#maps: PASSED (10.862s)
maps_ns_standardDeviation: 4484213
maps_ns_mean: 87912988
maps_ns_median: 86325549
[3/3] com.android.resources.perf.PerfTest#gmail: PASSED (24.034s)
gmail_ns_median: 282175838
gmail_ns_standardDeviation: 6560876
gmail_ns_mean: 282869146
These tests were done on a Pixel 3 and with cpu settings configured by
libs/hwui/tests/scripts/prep_generic.sh:
Locked CPUs 4,5,6,7 to 1459200 / 2803200 KHz
Disabled CPUs 0,1,2,3
Bug: 160635104
Bug: 169423204
Test: boot device && atest ResourcesPerfWorkloads
Change-Id: I5cd1bc8a2257bffaba6ca4a1c96f4e6640106866
|
|
De-duping of configurations with locales was disabled previously since
there is not a good way to dedupe locales in a forwards compatible way
(change SHA: e38567480be67ac83a8f8f090704bb0d49e2eed2).
In b/171892595, since every locale is a root in the dominator tree,
configs that do not specify locale qualifiers are dominated by the
default config and their values are checked for compatiblity with the
locale config values.
b/171892595 took a while to detect because, this is only an issue at
runtime when a resource has one config containing mnc/mcc without a
locale, one config containing a locale, and the values for the configs
differ. This is because mcc/mnc is the only qualifier with a greater
precedence than locale.
Make configurations with mcc/mnc and mcc unable to be dominated until
locale deduping is fixed.
Bug: 171892595
Bug: 62409213
Test: aapt2-tests
Change-Id: Ia0a5e5d7a1650d070f5f2fcaf9a8469a8c7dabe6
|
|
Alongside SIGNATURE and ACTOR_SIGNATURE policies, add CONFIG_SIGNATURE
policy to overlayable that overlay fulfills if it is signed with the
same certificate as the reference package whose package name is
declared in 'config-signature' tag of SystemConfig and is vetted by
OMS that it's a system pre-installed package.
BUG: 158726924
TEST: regular aapt2, idmap2, OMS tests
Merged-In: I645ee72271496008742886274be0d63a2985201b
Change-Id: I645ee72271496008742886274be0d63a2985201b
|
|
Introducing 'required-feature' and 'requred-not-feature' tags that could
be used "inside" 'uses-permission' elements.
Elements of both types should have non-empty 'android:name' attribute to
specify the name of the feature.
Bug: 168079571
Test: make aapt2
Test: make aapt2_tests
Test: out/host/linux-x86/nativetest64/aapt2_tests/aapt2_tests
Test: create AndroidManifest.xml with <required(-not)-feature>
Test: aapt2 link -o out.apk -I $ANDROID_SDK/platforms/android-30/android.jar --manifest AndroidManifest.xml
Test: aapt2 dump badging out.apk
Test: appt2 dump permissions out.apk
Change-Id: I67ba0731daa6d31cd976b922217853f159cf7c3a
|
|
Fix the values of REQUIRED_FEATURE_ATTR and REQUIRED_NOT_FEATURE_ATTR to
match 'requiredFeature' (0x01010554) and 'requiredNotFeature'
(0x01010555) from frameworks/base/core/res/res/values/public.xml
correspondingly.
Bug: 169812610
Test: make aapt2
Test: make aapt2_tests
Test: out/host/linux-x86/nativetest64/aapt2_tests/aapt2_tests
Test: Create manifest with 'required(Not)Permission' in <uses-permission/>
Test: aapt2 link -o out.apk -I $ANDROID_SDK/platforms/android-30/android.jar --manifest AndroidManifest.xml -v
Test: aapt2 dump badging out.apk
Change-Id: Ia1c785cde80bc8394231248119418d5bc5bf456d
|
|
|
|
|
|
|