Commit Graph

2188 Commits

Author SHA1 Message Date
TreeHugger Robot
f862715103 Merge "Allow for the DTB image to be built by the Android build system." into qt-dev 2019-05-24 17:34:27 +00:00
Hridya Valsaraju
5b8f78fbe8 Allow for the DTB image to be built by the Android build system.
The current solution expects BOARD_PREBUILT_DTBIMAGE_DIR to
contain prebuilt DTB files that are concatenated by the build system
to create $OUT/dtb.img. In order to accommodate devices that build
the dtb image locally, when BOARD_PREBUILT_DTBIMAGE_DIR is undefined,
make boot.img creation depend only on $OUT/dtb.img.

Bug: 133161451
Test: Build with BOARD_PREBUILT_DTBIMAGE_DIR undefined and verify
using unpack_bootimg.py that $OUT/dtb.img was included in boot.img.

Change-Id: Iae2c634ccdc1d83589b26d382882f75fb8565a31
Merged-In: Iae2c634ccdc1d83589b26d382882f75fb8565a31
2019-05-22 15:55:47 -07:00
Bowgo Tsai
33ff602070 Moving /odm/build.prop to /odm/etc/buid.prop
In device root directory, we have the following symlinks:
  - /odm/app -> /vendor/odm/app
  - /odm/bin -> /vendor/odm/bin
  - /odm/etc -> /vendor/odm/etc
  ...

This allows the Generic System Image (GSI) to be used on both devices:
  1) Has a physical odm partition, where those symlink will be hidden
     when /odm is used as the mount point
  2) Has no physical odm partition and fallback to /vendor/odm/.

We can't just have the symlink /odm -> /vendor/odm, because the former
devices won't have /vendor/odm directory, which leads to mount failure
when the mount point /odm is resolved to /vendor/odm.

The existing /vendor/odm/build.prop won't be loaded in the latter
devices, because there is no symlink:
    - /odm/build.prop -> /vendor/odm/build.prop.

Note that init blocks reading through direct symlinks (O_NOFOLLOW) so
the above symlink won't work either. This CL moves the odm build.prop
to /odm/etc/build.prop for init to load it (symlinks in earlier
components of the path will still be followed by O_NOFOLLOW).

Bug: 132128501
Test: boot a device and checks /odm/etc/build.prop is loaded
Test: make dist with an odm.img, checks $OUT/odm/etc/build.prop is loaded
Change-Id: I6f88763db755c9ec6068bfdd9cee81c19d72e9d7
Merged-In: I6f88763db755c9ec6068bfdd9cee81c19d72e9d7
(cherry picked from commit 6c62884000)
2019-05-22 16:14:53 +08:00
Bowgo Tsai
ce8b063507 Appending per-partition os_version into AVB props
os_version is important for keymaster version binding, where it
refuses to perform operations with a key that is bound to an old
system version.  This ensures that an attacker who discovers a
weakness in an old version of system or TEE software cannot roll a
device back to the vulnerable version and use keys created with the
newer version.

Previously, os_version for system.img is added into boot.img header
for bootloader to read the value then pass to TEE before booting the
HLOS. However, with project Treble to modularize each partition, all
images are now in the trajectory to be built independently (still
on-going). Also, in the Generic System Image (GSI) compliance test,
the os_version in OEM's boot.img cannot reflect the actual version of
GSI.

This CL adds per-partition os_versions into AVB metadata, which is
readable by bootloader via libavb without file system dependency. It's
still unclear for how os_version in non-system partition should be used.
We just add them for completeness here.

See more details in:
https://source.android.com/security/keystore/version-binding

Bug: 132233601
Test: build and avbtool info_image $OUT/vbmeta.img
      - Prop: com.android.build.boot.os_version -> '10'
      - Prop: com.android.build.system.os_version -> '10'
      - Prop: com.android.build.system.security_patch -> '2019-06-05'
      - Prop: com.android.build.vendor.os_version -> '10'
      - Prop: com.android.build.vendor.security_patch -> '2019-06-05'
      - Prop: com.android.build.product.os_version -> '10'
      - Prop: com.android.build.product.security_patch -> '2019-06-05'

Change-Id: I21a77420f2e8a3456f7a8cae5158eb8fc41319e7
Merged-In: I21a77420f2e8a3456f7a8cae5158eb8fc41319e7
(cherry picked from commit 9b54801b58)
2019-05-16 21:46:53 +08:00
Martin Stjernholm
e954e3e47d Add the library absence check as a kati stage check.
(cherry picked from commit a5181f67a7)

Test: m systemimage
Test: build_test on Forrest
Bug: 132289438
Merged-In: I7a93cc0ac4480404a3d56c75eb43ae499e8a3a05
Change-Id: I6012e16bb02d4fea1cff51b20de94560da7a8d09
2019-05-10 16:14:50 +00:00
Martin Stjernholm
4c62151f8e Add libs that have been resolved to the library absence check.
(cherry picked from commit 7a2dde8bd5)

Test: m systemimage
Test: build_test on Forrest
Bug: 132289438
Merged-In: I9e517d3c2344b39cf2743a34723572e646675677
Change-Id: Id39a947c1522cf3a226ff1a4430c57bf7d861141
2019-05-10 16:14:29 +00:00
Martin Stjernholm
4a901c6d41 Ignore vndk-* subdirectories in the library absence check.
(cherry picked from commit 8222ce45dd)

Test: m systemimage
Test: build_test on Forrest
Bug: 132289438
Merged-In: I059c9d0edb78e52838a25cef0472807847d77417
Change-Id: I57359dc9f1aa2230acd3252118aaf41f42b7a913
2019-05-10 16:14:20 +00:00
Martin Stjernholm
b4e549bfb7 Exclude lib/arm(64) from the library absence check.
(cherry picked from commit 4655206209)

Test: m systemimage
Test: build_test on Forrest
Bug: 132289438
Merged-In: I5dfb534aa2bc24a8d0a75fde31b139a6ed86e6a5
Change-Id: Ied158548f391d67f44ca31b74a3711d1cb5216fe
2019-05-10 16:13:54 +00:00
TreeHugger Robot
cfca3e591d Merge "Move ro.boot.dynamic_partitions to vendor/build.prop" into qt-dev 2019-05-08 23:28:51 +00:00
Hridya Valsaraju
ccd6279bef Move ro.boot.dynamic_partitions to vendor/build.prop
Bug: 132197773
Test: property present in vendor/build.prop

Currently, the property resides in product partition which gets
overwritten by the GSI image. Moving it to vendor will ensure
that the property is set even when a GSI image is flashed on the device.

Change-Id: I4d4a3c473194e15ba124a121f89bbb3ec1a73d19
Merged-In: I4d4a3c473194e15ba124a121f89bbb3ec1a73d19
2019-05-08 21:40:26 +00:00
Bowgo Tsai
30a4eb54fc Using a test key to sign boot-debug.img if needed
When /boot partition is chained in AVB signing, libavb will try to
read AVB footer from the end of /boot partition, even if the device is
unlocked. However, this makes device unbootable when the unsigned
boot-debug.img is flashed on /boot partition. This CL uses a test key
from external/avb to sign the boot-debug.img if /boot partition is
chained.

Bug: 126493225
Bug: 129508966
Test: Enables chain partition for boot.img, `make bootimage_debug` then
      checks `avbtool info_image --image $OUT/boot-debug.img`
Test: `make bootimage_debug-nodeps`
Test: boot a device with a chained boot-debug.img

Change-Id: I870cb70c70b7d4d7a30b77bed58cbca6e007d5e3
Merged-In: I870cb70c70b7d4d7a30b77bed58cbca6e007d5e3
(cherry picked from commit 26b0a26e3e)
2019-05-07 17:27:43 +08:00
bohu
c73e9b70dc emulator: support dynamic partitions
BUG: 125540538

Change-Id: I9d486f57ac4ec11b1bbe9ab97890d12441c3054e
Merged-In: I9d486f57ac4ec11b1bbe9ab97890d12441c3054e
2019-05-03 03:36:53 +00:00
Anton Hansson
669a9dbd99 Merge "Remove unneeded bootimage properties" into qt-dev 2019-05-02 08:24:48 +00:00
Yifan Hong
d8900299d7 Merge "Add BOARD_SUPER_IMAGE_IN_UPDATE_PACKAGE flag." into qt-dev 2019-05-01 18:00:33 +00:00
Pete Bentley
feef8d4af5 Merge "Remove libjavacrypto from system image." into qt-dev 2019-05-01 11:27:29 +00:00
Pete Bentley
5a78b371ed Remove libjavacrypto from system image.
The only copy needed is the one in the Conscrypt APEX.

Bug: 123925742
Test: m
Change-Id: Ieea8549d047750cf3580d6fe0204fdf55b6b8394
Merged-In: Ieea8549d047750cf3580d6fe0204fdf55b6b8394
2019-04-30 20:36:18 +01:00
Yifan Hong
7df64c3e77 Add BOARD_SUPER_IMAGE_IN_UPDATE_PACKAGE flag.
When set, product-img-tag.zip contains super.img instead of individual
user images from target files. For virtual devices, super.img is needed
to boot the device, but individual user images aren't needed.

Test: on A/B DAP, with flag set:
     - m updatepackage and look at img.zip
     - img_from_target_files
     both have super.img and not system / vendor / system_other
Test: on non-A/B DAP, with the flag set:
     - m updatepackage and look at img.zip
     - img_from_target_files
     both have super.img and not system / vendor
Test: on A/B retrofit, with the flag set:
     - m updatepackage and look at img.zip
     - img_from_target_files
     both have super_*.img and system_other.img, but not system / vendor
Bug: 113175337

Change-Id: I94e33091d0c837cae40776176b4dcfdd338aba90
(cherry picked from commit 0e97dbb8ca)
Merged-In: I94e33091d0c837cae40776176b4dcfdd338aba90
2019-04-30 11:36:16 -07:00
Yifan Hong
75ed2e7f11 Add BOARD_BUILD_SUPER_IMAGE_BY_DEFAULT flag.
If set to true,
- super.img is built from images in $PRODUCT_OUT
- super.img is built to $PRODUCT_OUT
- super.img is built when 'make'.

'make dist' still builds super image from images in target files to
intermediates directory.

This flag is useful for virtual devices, but isn't intended to be set for
actual devices. For actual devices, userspace fastboot should flash
super_empty.img and individual user images separately.

Test: on cuttlefish (flag is set),
      make            # generates $OUT/super.img
      make superimage # generates $OUT/super.img
Test: on real non-retrofit DAP device (flag is not set)
      make            # no super.img is generated
      make superimage # generates $OUT/obj/PACKAGING/.../super.img
      make dist       # generates out/dist/super.img

Bug: 113175337

Change-Id: Ieb81e4fbb663bb4b69e9962c3fa9f16b03aeb907
(cherry picked from commit acd862aed3)
Merged-In: Ieb81e4fbb663bb4b69e9962c3fa9f16b03aeb907
2019-04-29 16:41:32 -07:00
Anton Hansson
8ac52324f2 Remove unneeded bootimage properties
These were added as part of http://r.android.com/731514, but
most of these properties make no sense for the bootimage. Revert
to only defining date, date.utc and fingerprint.

Bug: 131066061
Test: inspect vendor/build.prop
Test: boot, no SELinux warnings for removed props
Change-Id: Ibbeff9870a5b71e83c2cceeb1327b12600077b23
Merged-In: Ibbeff9870a5b71e83c2cceeb1327b12600077b23
2019-04-29 15:39:10 +01:00
Yifan Hong
46f7e88c27 Merge changes from topic "productmanifest" into qt-dev
* changes:
  ota_from_target_files: include metadata when odm / product is changed.
  Add product manifest.
2019-04-26 22:39:01 +00:00
Yifan Hong
1bf5cd31c0 Add product manifest.
- Rename framework_manifest.xml to system_manifest.xml since that's more accurate.
- Add product_manifest.xml to base_product.mk
- Add product_manifest.xml to verified_assembled_framework_manifest.xml to check
  it at build time.

Bug: 126770403
Bug: 130714844
Bug: 80547152

Test: build and inspect output
Test: lshal

Change-Id: I1b447d8c36f72768e28e9bcaa4d06afdeba08c2a
Merged-In: I1b447d8c36f72768e28e9bcaa4d06afdeba08c2a
2019-04-24 16:28:48 -07:00
SzuWei Lin
d312ca82ed Merge "Fix build error for no-ramdisk targets" into qt-dev 2019-04-24 08:57:44 +00:00
Bowgo Tsai
6e38628664 Fix aosp_arm64 build error when make ramdisk_debug
Some targets have ramdisk.img but no boot.img, howerver,
ramdisk-debug.img only depends on boot.img. Fix this by making
ramdisk-debug.img depends on ramdisk.img.

Bug: 126493225
Test: make ramdisk_debug
Change-Id: I65120a3b3372712fafc26442354ee031eede0bd3
Merged-In: I65120a3b3372712fafc26442354ee031eede0bd3
(cherry picked from commit c3e8cc9bd1)
2019-04-24 08:42:09 +00:00
Bowgo Tsai
f00885f299 Fix build error for no-ramdisk targets
In some build targets, e.g., aosp_arm64_ab, $OUT/ramdisk is an empty
dir, and leads to rsync $OUT/ramdisk/* failure. Removing the trailing
asterisk to avoid throwing an error if it's empty. Note that the
trailing slash still needs to be kept to avoid creating an additional
directory level at the destination.

Bug: 126493225
Test: `make ramdisk_debug` on aosp_arm64_ab
Test: flash boot-debug.img on crosshatch still can adb root
Change-Id: I44937324379fa78fc26a4471ba94eb7694911c2d
(cherry picked from commit 85f292939647fb9bd659a6a5deebd3f07dd3a079)
2019-04-24 16:25:10 +08:00
Bowgo Tsai
d82a1549f1 Adding boot-debug.img and ramdisk-debug.img
The two new debugging images adds additional files based on
boot.img and ramdisk.img/ramdisk-recovery.img, respectively.

File /force_debuggable is to trigger special logic in /init to load an
userdebug version of sepolicy and an additional property file from this
ramdisk to allow adb root, if the device is unlocked.

It's intentional to skip signing for boot-debug.img, as it can
only be used if the device is unlocked, where verification error
is allowed.

Those debugging images allows adb root on user build
system.img, vendor.img, product.img, etc. This can facilitate more
automated testings on user builds and is helpful to narrow down the
delta between what's being tested v.s. what's being shipped.

Bug: 126493225
Test: `make dist`, checks both boot-debug.img and ramdisk-debug.img
      are in $OUT/ and out/dist.
Test: `make dist`, checks installed-files-ramdisk-debug.{json,txt} are
       in out/dist.
Test: `system/core/mkbootimg/unpack_bootimg.py --boot_img $OUT/boot-debug.img`,
      checks the extracted out/ramdisk is as expected
Test: Run `gunzip -c ramdisk | cpio -idm` for the ramdisk extracted from
      $OUT/boot-debug.img and $OUT/boot.img, respectively.
      Then compare the root dirs of both, e.g.,
      `diff -rq --no-dereference ./ramdisk ./ramdisk-debug`
Test: `make ramdisk_debug-nodeps` and `make bootimage_debug-nodeps`

Change-Id: I30137c3caef91805d9143d404e5e4d06c0fccc30
Merged-In: I30137c3caef91805d9143d404e5e4d06c0fccc30
(cherry picked from commit 0013f55ef4)
2019-04-23 21:03:00 +08:00
Colin Cross
dc47df6439 Allow codename.fingerprint format for targetSdkVersion
Use codename.fingerprint format for targetSdkVersion if it is unset
in the manifest and UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true.

Test: manual
Bug: 130541924
Change-Id: Ie748d1963ff6f525f8d9e551b73846c3e1c7f9a2
Merged-In: Ie748d1963ff6f525f8d9e551b73846c3e1c7f9a2
(cherry picked from commit d60401a59b)
2019-04-22 09:58:24 -07:00
Yifan Hong
0d8e89b5f8 Reland "Only assert-max-image-size for static partitions."
assert-max-image-size doesn't make sense for
dynamic partitions, as build_image.py always find the
right size for the output image. Hence:

- build_image.py no longer need to write generated_*_info.txt
  (which contains the size of the image).
- assert-max-image-size on the static BOARD_*IMAGE_PARTITION_SIZE. If
  a partition is dynamic, that variable isn't set, and
  assert-max-image-size becomes a no-op. If the partition is static,
  assert-max-image-size checks the static partition size as it used
  to be.
- Fix read-size-of-partitions to use the size of the partition by
  reading the image directly (instead of using generated_*_info.txt).

For devices without AVB, with DAP enabled, and does not have
RESERVED_SIZE for partitions, because of right sizing, the original
code always warns about approaching size limits. Since such checks
doesn't make sense for dynamic partitions, remove them.

Test: builds on device with dynamic partitions
Test: builds on cuttlefish with DAP enabled (without AVB), no
      more size limit warnings:
WARNING: out/target/product/vsoc_x86/vendor.img approaching size limit (X now; limit X)

This reverts commit 6e099095d1.

Reason for revert: reland the CL

Bug: 122377935
Test: build blueline_mainline

Change-Id: Iee594b64e687decff186c0fa60f82b88608febe9
Merged-In: Iee594b64e687decff186c0fa60f82b88608febe9
2019-04-11 10:12:27 -07:00
Yifan Hong
c5aae579b7 Revert "Fix dynamic partition size check for devices with recovery"
Reason for revert: size check is removed for devices
with dynamic partitions because it doesn't make sense.

Bug: 122377935
Bug: 120043292
Bug: 124489494
Test: build cuttlefish

This reverts commit accf09b2e0.

Change-Id: I289faf11a08acbcef36924eb747a15f55124ce79
Merged-In: I289faf11a08acbcef36924eb747a15f55124ce79
2019-04-11 10:12:27 -07:00
Anton Hansson
0643efcc5a Move board-info props to vendor/build.prop
This change moves the ro.build.require.* props extracted from
TARGET_BOARD_INFO_FILE to vendor/build.prop as opposed to
system/build.prop. These typically contain what bootloader and
baseband the build requires, which are very device-specific.

Bug: 130025216
Test: make, inspect props
Test: flash blueline
Change-Id: I48642485bdc853884d465d1fe00f2ceae69a4736
Merged-In: I48642485bdc853884d465d1fe00f2ceae69a4736
2019-04-10 12:38:59 +00:00
Anton Hansson
d4f9d62625 Move bootimage props to vendor/build.prop
Prior to this change the properties were in system/etc/default.prop.
These properties are device-specific and don't really belong on the
/system partition.

I anticipate further change to these properties in the future:
- pruning down the set of properties, as the .product. props
  don't make much sense for the boot image
- moving them to the ramdisk instead

Bug: 130025216
Test: boot into recovery, observe title (shows bootimage fingerprint)
Change-Id: I9e92c1ec7068ae18fa0d709c77eac22a6b88c3d8
Merged-In: I9e92c1ec7068ae18fa0d709c77eac22a6b88c3d8
2019-04-09 16:28:22 +01:00
TreeHugger Robot
f9a550621b Merge "Build non-sparse super image if necessary." into qt-dev 2019-04-05 10:17:16 +00:00
Yifan Hong
c3664703f8 Build non-sparse super image if necessary.
If TARGET_USERIMAGES_SPARSE_EXT_DISABLED is set, don't provide
--sparse to lpmake, so that a non-sparse super image is built.

Test: build with the flag set.
Bug: 120041578
Change-Id: I5a26e4c793b0e2ddc89e9c38c8828ac21044e78a
Merged-In: I5a26e4c793b0e2ddc89e9c38c8828ac21044e78a
2019-04-04 16:36:25 -07:00
Yifan Hong
8b7fe36968 supernod: make intermediates directory.
Bug: 120041578

Test: delete the directory, then `m supernod`
Change-Id: If2f153fc8815b1bbf77774849be9cc2cdb5fd913
Merged-In: If2f153fc8815b1bbf77774849be9cc2cdb5fd913
2019-04-04 13:30:23 -07:00
Martin Stjernholm
ff2f484864 Merge "Drop libsigchain from the system image." am: c712ac1001 am: 683996193e
am: 11eb0df260

Change-Id: I0af560e8e50f2cbd8c6435967092f46eb4082635
2019-04-01 12:37:25 -07:00
Martin Stjernholm
c712ac1001 Merge "Drop libsigchain from the system image." 2019-04-01 19:15:25 +00:00
Martin Stjernholm
f8b6fefcd1 Drop libsigchain from the system image.
It is now in the Runtime APEX and considered internal there.

Test: Flash and boot
Test: atest CtsCompilationTestCases CtsBionicTestCases
Bug: 118374951
Bug: 124293228
Change-Id: I33bb9c238d7db46795deb592c9d20fe6591c1654
2019-04-01 18:37:06 +01:00
Yifan Hong
7a8ffbeb9f resolve merge conflicts of 7bd8a3692f to master
Bug: None
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I16278376fb4a2b26f15b675016d00819ea99c296
2019-04-01 09:53:23 -07:00
Treehugger Robot
c2fe916233 Merge "Move super.img to obj/PACKAGING" 2019-04-01 16:21:07 +00:00
Yifan Hong
5478754cd6 Move super.img to obj/PACKAGING
To avoid the confusion. super.img isn't intended to be flashed
during day-to-day development.

Test: m superimage
Bug: 128891161
Change-Id: I9d62e5929b415343b2d890ab21e6ae51175af2ae
2019-03-29 14:47:28 -07:00
Anton Hansson
cf0b72a241 Merge "Access PRODUCT_ variables directly" am: 8adf501905 am: ffed666e07
am: 9ff3ac88c6

Change-Id: Ica9e69e2252d89c7cbc5681b772b78e7bc3913e4
2019-03-29 10:16:52 -07:00
Anton Hansson
8adf501905 Merge "Access PRODUCT_ variables directly" 2019-03-29 16:54:47 +00:00
Martin Stjernholm
480ab2ad7c Merge "Make the APEX lib absence check optional, for local use." am: 20ac920654 am: 4598286860
am: 9791a3c4d7

Change-Id: I5fd9cb75aed919c8d933e9e8a825a32eae69372f
2019-03-29 07:10:20 -07:00
Treehugger Robot
20ac920654 Merge "Make the APEX lib absence check optional, for local use." 2019-03-29 13:43:32 +00:00
SzuWei Lin
3f4ca06313 Merge "Fix build error on empty ramdisk" am: 5d225276ca am: debaf1b8af
am: 3e3c738d7f

Change-Id: I239d210569588636fde36bc2a545b80a16dc2509
2019-03-28 20:22:02 -07:00
Anton Hansson
8dab0a6f50 Access PRODUCT_ variables directly
This CL simplifies the PRODUCTS.$(INTERNAL_PRODUCT).X accesses of
product variables, and removes unnecessary stripping of them.

Replace: '\$\(PRODUCTS\.\$\(INTERNAL_PRODUCT\)\.([^\)]*)\)' with '$(\1)'
Replace: '\$\(strip\s*\$\(PRODUCT_([^\)]*)\)\)' with '$(PRODUCT_\1)'

A few minor manual tweaks.

Bug: 116769560
Test: presubmit
Change-Id: I70c54f1582e3cc780028535960147d99ebc2e0e1
2019-03-28 15:54:25 +00:00
Martin Stjernholm
c9d5858f58 Make the APEX lib absence check optional, for local use.
Test: m systemimage (with and without failure)
Bug: 124293228
Bug: 129466457
Change-Id: I8bf5ba51232bb9961bdedd56d0f17ee1d8698f54
2019-03-28 15:08:32 +00:00
SzuWei Lin
29770fa2bf Fix build error on empty ramdisk
package `init_vendor` is the only content of ramdisk so far.
We would get build error if we do not include init_vendor.
The patch fix the build error for the case that ramdisk is empty.

Bug: 129386309
Test: lunch aosp_arm64_ab-userdebug; make ramdisk -j
Test: Build pass
Change-Id: I7c7c828b5f29350268d4789393b90740dd68162d
2019-03-28 13:41:01 +00:00
Daniel Norman
cf4e8bf0b5 Merge "Only call make_recovery_patch when BUILDING_SYSTEM_IMAGE." am: b455273444 am: 7100e93233
am: 2d5f9a0285

Change-Id: Id733c79d53407cccba52563a79e4bfab9cec03f7
2019-03-25 16:33:11 -07:00
Daniel Norman
adf8096c77 Only call make_recovery_patch when BUILDING_SYSTEM_IMAGE.
The recovery patch gets put in the SYSTEM directory. Placing the
recovery patch here doesn't make sense when not building the system
image, as is the case for merged (system + vendor) builds.

Bug: 128838154
Test: Running make droid dist for a device target that sets PRODUCT_BUILD_SYSTEM_IMAGE to false.
Change-Id: Ib5ce8c8490024199f82d0c093e9a7ae2de5f71f5
2019-03-25 18:34:30 +00:00
Martin Stjernholm
0e727dd0eb Merge "Exclude libdexfile_external.so to fix aosp_marlin-userdebug builds." am: c62e31242d am: 5355757f74
am: 2242264224

Change-Id: Ice386f7debd22ea87376e617c7870119d7f7cc1d
2019-03-22 08:53:54 -07:00