diff options
author | Paul Duffin <paulduffin@google.com> | 2021-06-28 23:37:57 +0100 |
---|---|---|
committer | Paul Duffin <paulduffin@google.com> | 2021-06-28 23:37:57 +0100 |
commit | 357edefc51e59e6b3900668be9f87f765a1cb169 (patch) | |
tree | d6d7186ea00c09c28909c831fb305268b8b8a6d5 /Android.bp | |
parent | c51f1fc24a4ae212662bed41a24a9779625b0268 (diff) | |
download | Permission-357edefc51e59e6b3900668be9f87f765a1cb169.tar.gz |
Enable permission to perform its own hidden API processing
Previously, the hidden API encoding of the permission boot dex jars,
i.e. those dex jars that permission contributes to the bootclasspath
were done as part of the monolithic hidden API processing. This change
causes the encoding to be done by the permission's
bootclasspath_fragment.
This change involves the following:
* Addition of the fragments property to the permission's
bootclasspath_fragment module to list all the other
bootclasspath_fragment modules on which this depends.
* Addition of the additional_stubs property to add stubs for APIs that
are not provided by another bootclasspath_fragment.
The build automatically checks that the hidden API flags which are
computed by permission and encoded into its boot dex jars match those
that are generated by the monolithic processing so this is guaranteed
to be safe.
Bug: 179354495
Test: m com.android.permission
- ensure that the generated APEX is byte-for-byte identical
before and after these changes.
m out/soong/hiddenapi/hiddenapi-flags.csv
- make sure that they are not changed by this.
Change-Id: Idcbdd331d5b5e897338bba46485cb56dab20dd4b
Diffstat (limited to 'Android.bp')
-rw-r--r-- | Android.bp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp index b9d66e105..deb17bd89 100644 --- a/Android.bp +++ b/Android.bp @@ -64,6 +64,20 @@ bootclasspath_fragment { "framework-permission-s", ], apex_available: ["com.android.permission"], + + // The bootclasspath_fragments that provide APIs on which this depends. + fragments: [ + { + apex: "com.android.art", + module: "art-bootclasspath-fragment", + }, + ], + + // Additional stubs libraries that this fragment's contents use which are + // not provided by another bootclasspath_fragment. + additional_stubs: [ + "android-non-updatable", + ], } // Encapsulate the contributions made by the com.android.permission to the systemserverclasspath. |