Android-How to build Audroid Automotive OS
来自个人维基
Environment:
Host: Ubuntu 18.04, Intel i7 EVT: Hikey960
Steps:
1. change directory to Android AOSP folder.
2. modify device/linaro/hikey/AndroidProducts.mk, add hikey960_car-userdebug menu item
PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/hikey.mk \ $(LOCAL_DIR)/hikey32.mk \ $(LOCAL_DIR)/hikey64_only.mk \ $(LOCAL_DIR)/hikey_tv.mk \ $(LOCAL_DIR)/hikey960.mk \ $(LOCAL_DIR)/hikey960_tv.mk \ $(LOCAL_DIR)/hikey960_car.mk COMMON_LUNCH_CHOICES := \ hikey-userdebug \ hikey64_only-userdebug \ hikey_tv-userdebug \ hikey960-userdebug \ hikey960_tv-userdebug \ hikey960_car-userdebug</nowiki>
3. cp device/linaro/hikey/hikey960.mk to device/linaro/hikey/hikey960_car.mk
4. Modify hikey960_car.mk
TARGET_KERNEL_USE=4.14 TARGET_PREBUILT_KERNEL := device/linaro/hikey-kernel/Image.gz-dtb-hikey960-$(TARGET_KERNEL_USE) TARGET_PREBUILT_DTB := device/linaro/hikey-kernel/hi3660-hikey960.dtb-$(TARGET_KERNEL_USE) ... # Inherit the full_base and device configurations $(call inherit-product, device/generic/car/common/car.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) $(call inherit-product, device/linaro/hikey/hikey960/device-hikey960.mk) $(call inherit-product, device/linaro/hikey/device-common.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk) ... PRODUCT_NAME := hikey960_car PRODUCT_DEVICE := hikey960 PRODUCT_BRAND := Android PRODUCT_MODEL := Car on hikey960
5. source ./build/envsetup
6. lunch hikey960_car-userdebug
7. make -j32
================================================
For extra PRODUCT_PACKAGES and PRODUCT_COPY_FILES please see
device/generic/car/common/car.mk
android.hardware.broadcastradio@2.0-service \ android.hardware.automotive.vehicle@2.0-service
packages/services/Car/car_product/build/car.mk
Bluetooth \ OneTimeInitializer \ Provision \ SystemUI \ SystemUpdater clatd \ clatd.conf \ pppd \ screenrecord DefaultStorageMonitoringCompanionApp \ EmbeddedKitchenSinkApp \ VmsPublisherClientSample \ VmsSubscriberClientSample \ android.car.cluster.loggingrenderer \ DirectRenderingClusterSample \ com.android.car.powertestservice \ frameworks/base/data/keyboards/keyboards.mk) frameworks/webview/chromium/chromium.mk)
packages/services/Car/car_product/build/car_base.mk
Home \ BasicDreams \ CaptivePortalLogin \ CertInstaller \ DocumentsUI \ DownloadProviderUi \ FusedLocation \ InputDevices \ KeyChain \ Keyguard \ LatinIME \ Launcher2 \ ManagedProvisioning \ PacProcessor \ PrintSpooler \ ProxyHandler \ Settings \ SharedStorageBackup \ VpnDialogs \ MmsService \ ExternalStorageProvider \ atrace \ cameraserver \ libandroidfw \ libaudioutils \ libmdnssd \ libnfc_ndef \ libpowermanager \ libspeexresampler \ libvariablespeed \ libwebrtc_audio_preprocessing \ wifi-service \ A2dpSinkService \