64-bit GSI requires support both 64_32-bit and 64-bit devices at
the same time. Add a new variable TARGET_DYNAMIC_64_32_DRMSERVER
to put drmserver_dynamic.rc into GSI. Which starts 64-bit
drmserver if ro.zygote is zygote64. Otherwise, it keeps the
original behavior to start 32-bit drmserver.
Bug: 282603373
Test: make gsi_arm64-user; Check system/etc/init
Test: make gsi_arm-user; Check systen/etc/init
Change-Id: I874cee00a066086f565e044549ad40c6ab5d62b0
Merged-In: I874cee00a066086f565e044549ad40c6ab5d62b0
Except for santizer and framework Java coverage tests as they require
specialized prebuilts built from a matching configuration and we do not
provide them.
And products that use dex2oat(d)s as they are not available as a
prebuilt.
And products that cross compile to arm64 and linux_bionic on the host
as prebuilts for that are not available.
And atv/tv products as they break when building against prebuilts.
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:c7b5e2c0cea30dd084536bdc68dffdfb1c50073d)
This uses a completely separate Change-Id as the previous change was
applied to lots of downstream branches (so they contain the Change-Id
as far as the automerger is concernd) but the change got discarded due
to some merge issues. Using the previous Change-Id would cause
confusion. The title of this change was also updated as the previous
title only made sense within the larger topic to which it belonged.
Bug: 230478310
Bug: 223592962
Test: presubmit
Change-Id: Ie35ff34f4626070d1a3fe0bb3a6a999a596d0078
This is needed because the rkpd module is optional at runtime and so
needs to be optional at build time.
Ignore-AOSP-First: rkpd only exists internally
Bug: 259958590
Test: # Add prebuilts for the rkpd module.
m MODULE_BUILD_FROM_SOURCE=true droid
m MODULE_BUILD_FROM_SOURCE=false droid
# Make sure that they build from sources and prebuilts respectively.
Merged-In: Id0c0e482e2928d57a1bb6ee4f3bcd143ca15122c
Change-Id: Id0c0e482e2928d57a1bb6ee4f3bcd143ca15122c
(cherry picked from commit 95b546475f)
This CL enables the capability to build from source. Haven't implemented the function on any product yet. To enable it, please follow ag/21397639 to define flag on product mk file.
Bug: 268325561
Test: manual test on local
Change-Id: I10f1901ad26ef941465af20d2bb5ab49434baaf3
Add environment variable KEEP_APEX_INHERIT condition check to set the
proper value of Soong conditional variable library_linking_strategy. If
the KEEP_APEX_INHERIT exists, the "min_sdk_version" in condition will be
set to "apex_inherit". For more detail:
https://docs.google.com/document/d/1R2vZw0cQa-haAMgFyQ682uSq9aGBNQrzMHKIsU17-XY/edit?usp=sharing&resourcekey=0-gUbs463r9LCKs7vdP_Xkmg
Test: build module locally, and check the corresponding change.
Presbumit
Bug: 254634795
Change-Id: I0ddc999a19d9f164477d69be0e4aebc91e06a3ad
Merged-In: Ic5da1c83b3b9c090bc2a24d36b1a4ac936ce1a59
The change in the packages/modules/Virtualization in the same topic
takes care for defining the right variant of the APEX to be installed:
* Devices with AVF support will get the full com.android.virt APEX
* Devices without AVF support will get an almost empty version that only
contains an app that defines AVF-related permissions, and soon the BCP
fragment jar.
Bug: 243512044
Test: build & flash oriole
Test: build & flash redfin
Change-Id: I2c38e03529a77dd2820212812433741725115ce0
This variable is always false or empty now, so clean up remaining
references of the variable.
Remove "buildvariant=" kernel commandline as it was used by
system-as-root kernels to determine the system build variant. It is
unsupported now.
Bug: 241346584
Test: Presubmit
Change-Id: I0f97b6e0bf8b03429f65366119ff78f9c7983516
It will be used to configure a compile time flag when building apexd for
auto products. See the attached bug for more context
Test: m
Bug: 241473698
Change-Id: I7e7ce3216e455ff44b9a24fec14d6ee384e97192
This is safe even though permission is not an optional mainline
module because devices that support mainline must pass GTS and
testModulesSignedCorrectly and testModulesPreloadedCorrectly in GTS
currently tests this, along with testMainlineApprovedTrain which checks
mandatory/optional, signing keys, and if what's preloaded are part of
approved trains.
Bug: 238175656
Test: # Cherry pick to branch that has Google signed prebuilts for
# permission and builds from prebuilts by default.
# Update the permission to an sdk snapshot generated with
# r.android.com/2151273.
# Make sure that the permission is built from prebuilts by
# default
Change-Id: Id4eb9ba0da8a05c41d3b29b1cb8fa1d2d485c7b9
(cherry picked from commit fb72d542ad)
Merged-In: Id4eb9ba0da8a05c41d3b29b1cb8fa1d2d485c7b9
This has been the default setting for Pixel/Go/Cuttlefish devices since
tm-dev. Broaden the default to enable for all devices against the base
SystemUI target. Note that packages overriding the base SystemUI target
may choose to ignore this flag and set their own optimization settings.
Opting out of optimizations can be achieved with either:
* Env: export SYSTEMUI_OPTIMIZE_JAVA=false
* Make: SYSTEMUI_OPTIMIZE_JAVA := false
Bug: 203472868
Test: m + presubmit + validate dex on new lunch targets
Change-Id: Id97031cc2c0d1d614391c404850002faf57bd4ac
Disable R8 shrinking by default if there are additional
SYSTEM_SERVER_JARS that may be downstream from services.jar, or if
the jar ordering is unreliable.
The longer term solution will be to feed R8 the SYSTEM_SERVER_JARS
explicitly during the shrinking phase, but for now this avoids
potential issues with such dowstream jars. Note that specific
products or targets can still opt-in explicitly even if there may be
ordering issues in SYSTEM_SERVER_JARS.
Bug: 240588226,235484969
Test: m + lunch various Arc/Wear/Auto targets
Change-Id: I1d824e1e61de65604123b65b25b192a8a32fd0c1
Merged-In: I1d824e1e61de65604123b65b25b192a8a32fd0c1
Flip the setting that controls R8 shrinking for system_server from
opt-in to opt-out. This can be controlled by vendor makefiles and from
the command-line using the `SYSTEM_OPTIMIZE_JAVA` boolean build flag.
Note that this change only enables code shrinking for system_server,
and should not impact stack traces except for certain stack frames
involving synthetics.
Additional (vendor) code that is loaded dynamically into
system_server, that references system_server code, should use
system_server APIs that are expicitly annotated with
`@android.annotation.SystemApi`.
Additional (vendor) code added directly to services.jar,
which doesn't fall into existing keep patterns in the services
proguard.flags configuration and would otherwise be stripped, should be
annotated with `@com.android.internal.annotations.Keep`.
Results: services.jar (20MB -> 17MB)
Bug: 210510433
Test: atest
CtsInstalledLoadingProgressHostTests
CtsAutoFillServiceTestCases
CtsAppSecurityHostTestCases
CtsAppTestCases
Change-Id: Icc77c9451d9a4a83e02cb591693354988f8d0ec4
Merged-In: Icc77c9451d9a4a83e02cb591693354988f8d0ec4
Disable R8 shrinking by default if there are additional
SYSTEM_SERVER_JARS that may be downstream from services.jar, or if
the jar ordering is unreliable.
The longer term solution will be to feed R8 the SYSTEM_SERVER_JARS
explicitly during the shrinking phase, but for now this avoids
potential issues with such dowstream jars. Note that specific
products or targets can still opt-in explicitly even if there may be
ordering issues in SYSTEM_SERVER_JARS.
Bug: 240588226,235484969
Test: m + lunch various Arc/Wear/Auto targets
Change-Id: I1d824e1e61de65604123b65b25b192a8a32fd0c1
This is safe even though permission is not an optional mainline
module because devices that support mainline must pass GTS and
testModulesSignedCorrectly and testModulesPreloadedCorrectly in GTS
currently tests this, along with testMainlineApprovedTrain which checks
mandatory/optional, signing keys, and if what's preloaded are part of
approved trains.
Bug: 238175656
Test: # Cherry pick to branch that has Google signed prebuilts for
# permission and builds from prebuilts by default.
# Update the permission to an sdk snapshot generated with
# r.android.com/2151273.
# Make sure that the permission is built from prebuilts by
# default
Change-Id: Id4eb9ba0da8a05c41d3b29b1cb8fa1d2d485c7b9
(cherry picked from commit fb72d542ad)
Merged-In: Id4eb9ba0da8a05c41d3b29b1cb8fa1d2d485c7b9
(cherry-picked from fb72d542ad)
This is safe even though permission is not an optional mainline
module because devices that support mainline must pass GTS and
testModulesSignedCorrectly and testModulesPreloadedCorrectly in GTS
currently tests this, along with testMainlineApprovedTrain which checks
mandatory/optional, signing keys, and if what's preloaded are part of
approved trains.
Bug: 238175656
Test: # Cherry pick to branch that has Google signed prebuilts for
# permission and builds from prebuilts by default.
# Update the permission to an sdk snapshot generated with
# r.android.com/2151273.
# Make sure that the permission is built from prebuilts by
# default
Change-Id: Id4eb9ba0da8a05c41d3b29b1cb8fa1d2d485c7b9
Merged-In: Id4eb9ba0da8a05c41d3b29b1cb8fa1d2d485c7b9
64-bit GSI requires support both 64_32-bit and 64-bit devices at
the same time. Add a new variable TARGET_DYNAMIC_64_32_MEDIASERVER
to put mediaserver_dynamic.rc into GSI. Which starts 64-bit
mediaserver if ro.zygote is zygote64. Otherwise, it keeps the
original behavior to start 32-bit meidaserver.
Bug: 236664614
Test: make gsi_arm64-user; Check system/etc/init
Test: make gsi_arm-user; Check systen/etc/init
Test: cts-tradefed; run cts-on-gsi -m CtsViewTestCases
Change-Id: I74699ec5fafadcbe78a7fef6d10aaed752cd5afa
(cherry picked from commit dccd189954)
Previously, any setting of SOONG_CONFIG_<m>_module_source_build (where
<m> is one of wifi, uwb or bluetooth) that was made before the
core/android_soong_config_vars.mk was processed would be replaced with
false. This change will only set them to false if they have not been
previously set.
Bug: 233965247
Test: m nothing
# After setting SOONG_CONFIG_wifi_module_source=true before this
# code. Without this change out/soong/soong.variables uses false
# for the wifi_module/module_source config variable. With this
# change it uses true.
Merged-In: I1dffeb055a68250f574630d4ef5fedc51bad4a2b
Change-Id: I1dffeb055a68250f574630d4ef5fedc51bad4a2b
Previously, any setting of SOONG_CONFIG_<m>_module_source_build (where
<m> is one of wifi, uwb or bluetooth) that was made before the
core/android_soong_config_vars.mk was processed would be replaced with
false. This change will only set them to false if they have not been
previously set.
Bug: 233965247
Test: m nothing
# After setting SOONG_CONFIG_wifi_module_source=true before this
# code. Without this change out/soong/soong.variables uses false
# for the wifi_module/module_source config variable. With this
# change it uses true.
Change-Id: I1dffeb055a68250f574630d4ef5fedc51bad4a2b
Flip the setting that controls R8 shrinking for system_server from
opt-in to opt-out. This can be controlled by vendor makefiles and from
the command-line using the `SYSTEM_OPTIMIZE_JAVA` boolean build flag.
Note that this change only enables code shrinking for system_server,
and should not impact stack traces except for certain stack frames
involving synthetics.
Additional (vendor) code that is loaded dynamically into
system_server, that references system_server code, should use
system_server APIs that are expicitly annotated with
`@android.annotation.SystemApi`.
Additional (vendor) code added directly to services.jar,
which doesn't fall into existing keep patterns in the services
proguard.flags configuration and would otherwise be stripped, should be
annotated with `@com.android.internal.annotations.Keep`.
Results: services.jar (20MB -> 17MB)
Bug: 210510433
Test: atest
CtsInstalledLoadingProgressHostTests
CtsAutoFillServiceTestCases
CtsAppSecurityHostTestCases
CtsAppTestCases
Change-Id: Icc77c9451d9a4a83e02cb591693354988f8d0ec4
Even though it doesn't have google modules in PRODUCT_PACKAGES,
the docs build wants to use prebuilts when the rest of the branch
does.
Bug: 230478310
Test: m docs (inspect MODULE_BUILD_FROM_SOURCE)
Merged-In: I1d67f4099e9fdc5fbaeeb0bf0fce80aa91c05eb5
Change-Id: I1d67f4099e9fdc5fbaeeb0bf0fce80aa91c05eb5
Even though it doesn't have google modules in PRODUCT_PACKAGES,
the docs build wants to use prebuilts when the rest of the branch
does.
Bug: 230478310
Test: m docs (inspect MODULE_BUILD_FROM_SOURCE)
Change-Id: I1d67f4099e9fdc5fbaeeb0bf0fce80aa91c05eb5
As an optional module, wifi has its own Soong config variable. This
change ensures that it is controlled by the same environment variable
as the rest of the modules.
Bug: 233965247
Test: # Unpack wifi snapshot that uses wifi specific Soong config.
m nothing
# Without this the build fails as it uses the wifi prebuilts
# which do not work in AOSP.
# With this change the build passes as it uses the wifi
# sources.
Change-Id: Iea0ad09182a162b8f5ddf1403f65a3bbffb9ef08
(cherry picked from commit 4f4b6d776d)
Merged-In: Iea0ad09182a162b8f5ddf1403f65a3bbffb9ef08
As an optional module, wifi has its own Soong config variable. This
change ensures that it is controlled by the same environment variable
as the rest of the modules.
Bug: 233965247
Test: # Unpack wifi snapshot that uses wifi specific Soong config.
m nothing
# Without this the build fails as it uses the wifi prebuilts
# which do not work in AOSP.
# With this change the build passes as it uses the wifi
# sources.
Change-Id: Iea0ad09182a162b8f5ddf1403f65a3bbffb9ef08
Except for santizer and framework Java coverage tests as they require
specialized prebuilts built from a matching configuration and we do not
provide them.
And products that use dex2oat(d)s as they are not available as a
prebuilt.
And products that cross compile to arm64 and linux_bionic on the host
as prebuilts for that are not available.
And atv/tv products as they break when building against prebuilts.
Bug: 230478310
Bug: 223592962
Test: presubmit
Merged-In: I3ed091156c4b39dad6eaf578144ac3d070025988
Merged-In: I9731400acfade95b3eab8f2d99fddb4cf856aa91
Merged-In: I43fa4ae8db51012eaf78d70fe65e9e0a3f7eca16
Change-Id: Ib01ba9e2e3c2225c88d52b6811edf04aff02c81e