These are left in PRODUCT_PACKAGES so that they can still
be added to the classpaths of legacy targets.
Bug: 77307025
Test: boot Pixel 2
Change-Id: Ib14969291319e03f181b9ea4d40096de095137e7
- add "dependencies" and "srcs" to collect in module-info.mk.
- add "Srcs" in core/base_rules.mk
Bug: 112523202
Test: make out/target/product/generic_x86_64/module-info.json and
generate out/target/product/generic_x86_64/module-info.json
Change-Id: I0669377b2e5e6b4ee225f1930bda208eff092dea
Allows dist-for-goals entries to use always use apps_only, without
having to conditionalize on TARGET_BUILD_APPS, or cause errors on full
platform builds.
Test: EMMA_INSTRUMENT=true m dist
Change-Id: Id484ad2a650b8ad49880469f195080ef7fa8c814
When ASAN is on, recovery modules are instaled to
$(OUT_DIR)/target/product/.../data/asan/recovery/root. However, since
this is not under $(TARGET_RECOVERY_OUT), their linktype is incorrectly
determined as native:platform, instead of native:recovery.
To fix this, use get_non_asan_path to have consistent paths when
determining the linktype.
Bug: 115361480
Test: m -j; SANITIZE_TARGET=address m -j
Change-Id: I75edb1fe193d8a1a8099d4f5cf498910ca868d38
These are used in various dist-for-goal targets even if we're not
currently building the sdks, so they always need to be marked with
.PHONY.
Test: m dist
Change-Id: I1e11ae37c6d0fd6ef8a3e293cf7409773c1bf3ab
Add soong_cc_prebuilt.mk for Soong modules to use so they can avoid
going through all of prebuilt_internal.mk, dynamic_binary.mk and
binary.mk. Also moves stripping support into Soong.
Relands I8b37dda2b449b6b5d48d5b983f43de452f494a1e with fixes for
builds with GENERATE_BREAKPAD_SYMBOLS=true
Bug: 113936524
Test: m checkbuild
Change-Id: Id41cd76ccb1b5bb6ac43b41ae3e8f1ce46d7ad7e
targetSdkVersion should stay as "current" when LOCAL_MIN_SDK_VERSION
is set but LOCAL_SDK_VERSION is not.
Bug: 112438448
Test: atest CtsTelecomTestCases
Change-Id: I72a2dc1073013863f5f8c44f271eace2a4e37a23
full_android_manifest may or may not be equal to
fixed_android_manifest, set PRIVATE_MIN_SDK_VERSION on
fixed_android_manifest instead.
Test: m checkbuild
Change-Id: I21795317a1334ebed772e781aeefba87392a8478
Replace the complicated rules in Make with calls the same strip.sh
script that Soong uses.
Bug: 113936524
Test: m checkbuild
Change-Id: If7beeb8381b5a9bc6e9ba15d443a834eb43fc0d4
Add soong_cc_prebuilt.mk for Soong modules to use so they can avoid
going through all of prebuilt_internal.mk, dynamic_binary.mk and
binary.mk. Also moves stripping support into Soong.
Bug: 113936524
Test: m checkbuild
Change-Id: I8b37dda2b449b6b5d48d5b983f43de452f494a1e
Currently, we support maxTargetSdk values of 26 & 28, corresponding to
the P blacklist (existing dark grey list) and upcoming Q blacklist.
For now, just put the two into the same list, as the runtime support to
distinguish between the two does not exist yet.
Bug: 114361293
Test: m
Change-Id: I2f8d206e8dd22afc6c0e98fb5e53b1d78a534125
Bug: 112007947
Test: `m dist` with aosp_taimen-userdebug.
Test: Set up a target that uses chained VBMeta images of
`vbmeta_mainline` and `vbmeta_vendor`. `m dist` and check the
build log, as well as outputs from
`avbtool info_image --image vbmeta.img`,
`avbtool info_image --image vbmeta_mainline.img`,
`avbtool info_image --image vbmeta_vendor.img`.
Change-Id: Ib1d4e97f583b65245703eae15d211adcd9e83741
Mark Soong header libraries with vendor variants as SPLIT_VENDOR
so that Make will use the vendor variant for vendor modules.
Bug: 114238698
Test: m checkbuild
Change-Id: I912ab9f4e19d73a1213d60b9795ee30ca87ef614
Change hidden API public/private list generation build rule so that it
checks if outputs have changed and only commit them when changes have
been made. .KATI_RESTAT instructs ninja to restat the outputs and remove
reverse dependencies when rebuilding dependencies is not needed.
Bug: 113278235
Test: m appcompat
Change-Id: Iad23e302b6c30f9a021200acd4bb20e6062de5a2
TARGET_RECOVERY_DEFAULT_ROTATION, TARGET_RECOVERY_OVERSCAN_PERCENT and
TARGET_RECOVERY_PIXEL_FORMAT are vendor-specific properties used by
libminui. So they are needed by both of recovery and charger modes.
We used to pass them to libminui as build-time flags (pre-Q), and
switched them to runtime properties recently (available to recovery
only). Since /sbin/charger lives on system image, the values should be
still passed as runtime properties, but need to be additionally
available under charger mode, and overridable by vendor-init.
This CL writes these variables as vendor default properties (i.e.
/vendor/default.prop if property_overrides_split_enabled is true,
otherwise into /default.prop). Note that writing them as vendor build
properties doesn't work, as init doesn't load /vendor/build.prop under
charger mode.
Bug: 113567255
Test: Build along with other CLs in the topic (for sepolicy and
libminui changes). Boot into charger mode.
Test: Boot into recovery. Run graphics test.
Change-Id: Iccc4de0fbff508d489fc93b45c2ecfd0fb96053c
In current GSI builds, AVB signing is not allowed.
We should allow signing GSI image, while building a vbmeta.img with
AVB_VBMETA_IMAGE_FLAGS_VERIFICATION_DISABLED (flag 2).
When need to disable AVB, use the vbmeta.img above together with the
GSI. When need enable AVB on GSI, include the GSI public key into the
device-specific vbmeta.img. Note that GSI is a chain partition so the
keys used to sign GSI and vbmeta.img are different.
Bug: 112293933
Test: build aosp_arm64-userdebug, checks flag 2 is set in vbmeta.img
and there is AVB HASHTREE in system.img
`avbtool info_image --image $OUT/system.img`
`avbtool info_image --image $OUT/vbmeta.img`
Change-Id: If1eff317621882994e7dcbf37cd35f5bfa16b69a
Also removing the requirement of BOARD_BOOTIMAGE_PARTITION_SIZE when
BOARD_AVB_ENABLE is set. Some targets (e.g., emulator) doesn't build
boot.img when AVB is enabled.
Bug: 112293933
Test: build a failure case and checks the error output is expected
Change-Id: I290c707719193ddaedcd9fd0b31de566ad17078c
This is in line with the change of mkuserimg_mke2fs.sh to python binary.
Bug: 112555072
Bug: 63866463
Test: unittests pass
Change-Id: I82c0be1e5bbc685edc15120da73aa43fdc9f2f05
This solves the missing host executable when calling
add_img_to_target_files.py.
Bug: 113877667
Test: make target-files-package for aosp_sailfish
Change-Id: I133064ef86a1f9c5b4ec6d27345fb49c61a729e5
It allows use of sanitizer preprocessor macros (like __has_feature())
in assembly files.
Bug: 112438058
Test: SANITIZE_TARGET=hwaddress
Change-Id: If9da7493d69fa2e03649754c38117e36eb8d222c
The previous PATH=$PATH:out/... logic was incorrect, since the version
in $PATH would override the one out. And now that we're limiting what's
accessible via $PATH, that caused an error.
Instead, ensure that all protoc plugins are specified explicitly with
--plugin, then remove the PATH modification.
Test: cd frameworks/base/cmds/am; mma (with protoc-gen-javastream in $PATH)
Change-Id: I6690727504f67f84fdc95ed93eabdf3351e5cb0b
super_empty.img is needed for "fastboot update" to work, as such, it
must be included in the update package. This change adds lpmake
parameters to misc_info.txt for add_img_to_target_files.py, and ensures
that lpmake is packaged with otatools.zip.
The build-superimage-target macro is now split into two functions - one
to generate the device-specific arguments, and another to build the full
command-line for convenience. The former is used to pass arguments
directly to add_img_to_target_files.
Bug: 113524256
Test: make updatepackage builds and includes super_empty.img
make otatools includes lpmake
Change-Id: I25091c964b036beeea2a8b8f738e2c18937c1eb4
Associated CL in frameworks/base/ migrates hidden API list generation
logic from Makefile/Bash to Python. Instead of four different build
targets, there is now just one. Adjust definitions.mk accordingly.
Bug: 113278235
Test: m appcompat
Change-Id: I01130729a0f783ff37cb4e942bc9ad179fe24e4e
When choosing the density for recovery resources, the code used to
handle primary density values only, i.e. mdpi, hdpi, xhdpi, 400dpi,
xxhdpi, 560dpi and xxxhdpi. Unlisted values, such as 500dpi, will be
categorized as xhdpi, but with tiny font size selected for recovery.
This CL improves the handling of numeric dpi values. It allows targets
using numeric values in PRODUCT_AAPT_PREF_CONFIG, and maps that to a
proper density bucket. Targets can still specify the density bucket
directly, which will take priority.
Bug: 111559919
Test: `m -j bootimage` with marlin/sailfish/walleye/taimen respectively.
Check the chosen density bucket for recovery resources
(xxxhdpi/xxhdpi/xxhdpi/xxxhdpi).
Test: Set PRODUCT_AAPT_PREF_CONFIG to 279/280/281/500/559/560/640. Check
the computed bucket and the selected recovery font file.
Change-Id: Ia40fcdec5a2752c08172716bcc622a36a2a83cea
ATest's original module_name is designed as a single string.
The different type maybe cause some problem when loading module_name
data. Due to it expected it as a list but actually it will be a single
string after mod-info obj handling this data.
Bug: 113317515
Test: atest aapt2_tests
atest hello_world_test
atest BluetoothInstrumentationTests
atest packages/apps/Bluetooth/tests/unit/Android.mk
atest RunBluetoothRoboTests
atest com.android.bluetooth
atest libcore/luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java
Multiple tests found:
0: libjavacore-unit-tests
1: jsr166-tests
2: core-ojtests-public
...
atest SSLSocketTest # Brings up 2 prompts, one for which file then one for which module
make -j bit
bit Settings
bit hello_world_test
bit BluetoothInstrumentationTests
bit RunBluetoothRoboTests (Could not find module, but the same situation
before applying this patch)
Change-Id: I46a14c675eabd7cebd82562954380a9a769e80b5
Also specify output level of error to match master
Bug: 110785706
Test: m -j
Change-Id: I634e09f406727d4f169c3a2862a29cd2206414f7
Merged-In: I634e09f406727d4f169c3a2862a29cd2206414f7
This whitelist controls which partitions support installing an app's
libraries in the partition's lib folder as opposed to embedding
them in the APK itself. Update it to also include /product and
/product_services.
Also add some clarifying comments.
Bug: 111797707
Test: in internal branch
Change-Id: I756af46cc9b718ca669dacc9d25364edddb295f4
Mac OSX 10.14 Mojave deprecates 32-bit executables, and the 10.14 SDK
does not successfully link 32-bit files.
Test: Install Xcode 10 beta, `m checkbuild host`
Change-Id: Ifad471fb88ead4bda870f49837d937fb5742f3f6
Support a first stage ramdisk which will include the targets placed
into TARGET_RAMDISK_OUT. This replaces the existing ramdisk on
existing devices.
All system images are now built to be mounted as the root dir.
Devices with a first stage ramdisk will switch root to the system
partition.
BOARD_BUILD_SYSTEM_ROOT_IMAGE remains and is used to specify if the
system partition is going to be directly used as rootfs without the
ramdisk.
Bug: 79173823
Bug: 79758715
Test: hikey boots, sailfish boots
Test: OTA walleye from P to master
Change-Id: Idbb2dccc6340b0235a4bef03e11e420a9ed154b6
Bug: 111179267
Test: flashed a module with NOTICE file on a devices and checked the
Legal information webview.
Change-Id: I6e52dee0ea23f05ea73d7cc747c2db1c1525f4b2
* Call clang-tidy.sh defined in PATH_TO_CLANG_TIDY_SHELL.
* Add dependency to clang-tidy and clang-tidy.sh.
Bug: 110538415
Test: build with WITH_TIDY=1
Change-Id: I90175ea1489272d8d4fc0f9ba4e5bbfdc7399d82
This enables using PRODUCT_COPY_FILES with these partitions, which
otherwise doesn't work because the list of targets to build/install
contains placeholders.
Bug: 80741439
Test: make
Change-Id: I9d49a3bc5212139a96c58cf550680257811371e2
core-simple.jar is being added to the runtime classpath as
an easy-to-find placeholder and to help identify places that
care about the boot classpath / trigger conversations & issues /
force discussion.
See http://go/simple-module
To start, this jar is being added in various locations that know
about core-libart and/or core-oj. There will be follow-up changes to
make core-simple.jar more than just another core-* jar.
Bug: 113148576
Test: Treehugger
Test: make checkbuild
Change-Id: I267a91b8728f84cfb1b2e8a5c5d157c88b75581c
The comment refers to a core.jar which hasn't existed in
a while.
Bug: 113148576
Test: Treehugger / build only
Change-Id: I032b0e42bb42dfa495f20dca6cd6b4f577052121
If a package is declared to build directly against the platform,
this patch will invoke manifest_fixer.py to encode that information
in the manifest. This information is then used by the framework to
correctly configure the runtime process.
Bug: 113315999
Test: m StorageManager; aapt l -a StorageManager.apk|grep usesNonSdkApi
Change-Id: I53c9728d12380a01b35315fc9c58463e9f5a9f48
This fixes a bug that platform module (native:platform) can link to a
recovery module due to the fact that the recovery module is also labeled
as native:platform. Fixing the bug by setting the link type correctly to
native:recovery.
Bug: 113277544
Test: m -j
Change-Id: I88fe0a9d958f2269cf9f9ebc205b2da8c6a761a5
This adds a set of standard build properties that are shared
between the system, vendor, odm, product, product_services and
bootimage partitions. The following properties are added:
ro.X.build.date
ro.X.build.date.utc
ro.X.build.fingerprint
ro.X.build.id
ro.X.build.tags
ro.X.build.type
ro.X.build.version.incremental
ro.X.build.version.release
ro.X.build.version.sdk
ro.product.X.brand
ro.product.X.device
ro.product.X.manufacturer
ro.product.X.model
ro.product.X.name
vendor and odm already had all of these, but bootimage, product
and product_services only had a subset and system didn't have
any.
Bug: 78359442
Bug: 111491184
Test: m out/target/product/hikey64/system/build.prop and inspect
Change-Id: Ia346d61aec331ed1b9fea12e6a50f1b79147473d
R8 no longer outputs an empty map file when minification
(obfuscation) is turned off.
Test: m -j PRODUCT-aosp_x86-eng
Change-Id: I3bd3f2900225dca05a972f46a3b882041e17ba49
This will cause odex/vdex files for apps installed under
/system/product_services/{priv-,}app to be installed in system-other
instead of next to the APKs themselves.
This change is analogous to I63406f91acc3de4b4f142767e28d45308706c7da,
which was for /system/product apps.
Test: diff installed-files{,-system-other}.txt on pixel with a PS app
Bug: 80741439
Change-Id: I79fac41cb665a649028f1f0e30350d42e8b80598
This CL intends to be a no-op change to functionality. It prepares for
the upcoming changes that support creating chained VBMeta images.
Bug: 112007947
Test: `m dist` with aosp_taimen-userdebug
Change-Id: Iaac45bde7971b056e17a6e7b0c89336ed206916e
Bug: 80741439
Test: `m -j vbmetaimage` for a target that uses product_services image
(i.e. `BOARD_PRODUCT_SERVICESIMAGE_FILE_SYSTEM_TYPE := ext4`).
Verify that the generated `vbmeta.img` includes the descriptor for
`product_services.img`.
Change-Id: Ia2d64523319c3313803acbc63dd56154a0426334
During OTA, update_engine expects both slots in super,
so that it doesn't have to create the missing slot. Thus,
UUIDs of all logical partitions are consistent. Values
are the result of `uuidgen.py {name}_{slot}` for A/B and
`uuidgen.py {name}` for non-A/B).
Test: adb shell lpdump /dev/block/by-name/super
Bug: 110717529
Change-Id: Ibb90d4dbe1a56bf314d4a02d7aa2f2be18d04855
Libcore has support for annotating a virtual method which is known
to change its return type in a future release. This annotation is
recognized by the dexer and a future-proof bridge method is created.
This patch integrates changes in class2greylist to support this
annotation into the build system and generation of hidden API lists.
Calling class2greylist on each boot classpath module now produces two
text files instead of one: signatures for greylisting and now also
whitelisting. They are passed on to the hidden API list generating rules
in frameworks/base.
Bug: 112186571
Test: m appcompat, diff public-list.txt whitelist.txt
Change-Id: I9861203e6e07a17d50850892ec13880971457d11
Combine INSTALLED_SUPERIMAGE_TARGET with INSTALLED_SUPERIMAGE_EMPTY_TARGET.
Also fixes inconsistent UUIDs for super_empty.img
because PRIVATE_SUPER_PARTITION_SUFFIX is not defined.
Test: flash and inspect device mapper
Change-Id: I7f00c4e21ebdd21e94fa387c6e2fbea06a6e75b7
Test: Use a target that defines `BOARD_INCLUDE_RECOVERY_DTBO := true`
and BOARD_PREBUILT_DTBOIMAGE. Touching a prebuilt dtbo file
triggers rebuilding of recovery image.
Change-Id: Icf44032fb29542c6836a401c79fb85345ad6cc3c