Enable media to perform its own hidden API processing
Previously, the hidden API encoding of the media boot dex jars, i.e. those dex jars that media contributes to the bootclasspath were done as part of the monolithic hidden API processing. This change causes the encoding to be done by the media's bootclasspath_fragment. This change involves the following: * Addition of the api.stub_libs property to specify the API provided by the media's bootclasspath_fragment module. * Addition of the fragments property to the media'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. * Moving hidden API flag file entries related to media from the flag files in frameworks/base/boot/hiddenapi directory into the media directory with an appropriate OWNERS file to allow them to be managed by the Soong and compat team. * Addition of a PREUPLOAD.cfg hook script to ensure that the flag files are sorted. The build automatically checks that the hidden API flags which are computed by media 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.media - 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: Ic21aee1647a3b7805c5f0b058826b6f224d1d71c
Loading
Please register or sign in to comment