February 23, 2017
By precompiling APK files during AOSP build a few minutes can be shaved off of the development iteration time on most commonly found Android hardware.
cd /opt/aosp_checkout/ find . -name BoardConfig.mk ./device/huawei/angler/BoardConfig.mk ./device/generic/mini-emulator-x86/BoardConfig.mk ./device/generic/arm64/BoardConfig.mk ./device/generic/mini-emulator-x86_64/BoardConfig.mk ./device/generic/mini-emulator-armv7-a-neon/BoardConfig.mk ./device/generic/mips/BoardConfig.mk ./device/generic/mips64/BoardConfig.mk ./device/generic/x86_64/BoardConfig.mk ./device/generic/mini-emulator-arm64/BoardConfig.mk ./device/generic/mini-emulator-mips/BoardConfig.mk ./device/generic/x86/BoardConfig.mk ./device/generic/armv7-a-neon/BoardConfig.mk ./device/generic/mini-emulator-mips64/BoardConfig.mk ./device/lge/bullhead/BoardConfig.mk ./device/linaro/generic/linaro_x86_64_only/BoardConfig.mk ./device/linaro/generic/linaro_arm64/BoardConfig.mk ./device/linaro/generic/linaro_arm64_only/BoardConfig.mk ./device/linaro/generic/linaro_x86_64/BoardConfig.mk ./device/linaro/generic/BoardConfig.mk ./device/linaro/generic/linaro_arm/BoardConfig.mk ./device/linaro/hikey/hikey/BoardConfig.mk # Edit the BoardConfig.mk that you are using for your build cd device/linaro/generic/ nano BoardConfig.mk # Add the config option WITH_DEXPREOPT := true # Propagate the new settings make defconfig make all
Depending on the previous system partition size and how many APKs that are built, you may need to increase the system partition size.
nano configs/defconfig # Change the below variable to something big enough to house all of you binaries CONFIG_BOARD_SYSTEMIMAGE_PARTITION_SIZE=1100000000 # Propagate the new settings make defconfig make all
This post has been a part of work undertaken by my employer Collabora.
Recently, we have been using Perfetto to successfully profile Apitrace traces in crosvm through VirGL renderer. We have now added perfetto…
As part of a project backed by INVEST-AI, a program managed by IVADO Labs, we have developed a multi-stage neural network-based solution…
Did you know you could run a permissively-licensed MTP implementation with minimal dependencies on an embedded device? Here's a step-by-step…
Earlier this year, the Rust compiler gained support for LLVM source-base code coverage. In this post we'll explain how to setup a CI job…
Over the past few months, I've been working on a side project to improve Meson sub-project support. The best stress test is to build projects…
The most complete automated testing and continuous integration tool for the Linux kernel continues to evolve at a rapid pace. Here's a look…