1# 2# Copyright (C) 2018 The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16 17# This makefile is the basis of a generic system image for a handheld device. 18$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_system.mk) 19$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_system.mk) 20$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_default.mk) 21# Add adb keys to debuggable AOSP builds (if they exist) 22$(call inherit-product-if-exists, vendor/google/security/adb/vendor_key.mk) 23 24# Enable updating of APEXes 25$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) 26 27# Shared java libs 28PRODUCT_PACKAGES += \ 29 com.android.nfc_extras \ 30 31# Applications 32PRODUCT_PACKAGES += \ 33 LiveWallpapersPicker \ 34 PartnerBookmarksProvider \ 35 Stk \ 36 Tag \ 37 38# OTA support 39PRODUCT_PACKAGES += \ 40 recovery-refresh \ 41 update_engine \ 42 update_verifier \ 43 44# Wrapped net utils for /vendor access. 45PRODUCT_PACKAGES += netutils-wrapper-1.0 46 47# Charger images 48PRODUCT_PACKAGES += charger_res_images 49 50# system_other support 51PRODUCT_PACKAGES += \ 52 cppreopts.sh \ 53 otapreopt_script \ 54 55# For ringtones that rely on forward lock encryption 56PRODUCT_PACKAGES += libfwdlockengine 57 58# System libraries commonly depended on by things on the system_ext or product partitions. 59# These lists will be pruned periodically. 60PRODUCT_PACKAGES += \ 61 android.hardware.biometrics.fingerprint@2.1 \ 62 android.hardware.radio@1.0 \ 63 android.hardware.radio@1.1 \ 64 android.hardware.radio@1.2 \ 65 android.hardware.radio@1.3 \ 66 android.hardware.radio@1.4 \ 67 android.hardware.radio.config@1.0 \ 68 android.hardware.radio.deprecated@1.0 \ 69 android.hardware.secure_element@1.0 \ 70 android.hardware.wifi@1.0 \ 71 libaudio-resampler \ 72 libaudiohal \ 73 libdrm \ 74 liblogwrap \ 75 liblz4 \ 76 libminui \ 77 libnl \ 78 libprotobuf-cpp-full \ 79 80# These libraries are empty and have been combined into libhidlbase, but are still depended 81# on by things off /system. 82# TODO(b/135686713): remove these 83PRODUCT_PACKAGES += \ 84 libhidltransport \ 85 libhwbinder \ 86 87PRODUCT_PACKAGES_DEBUG += \ 88 avbctl \ 89 bootctl \ 90 tinycap \ 91 tinyhostless \ 92 tinymix \ 93 tinypcminfo \ 94 tinyplay \ 95 update_engine_client \ 96 97PRODUCT_HOST_PACKAGES += \ 98 tinyplay 99 100# Enable configurable audio policy 101PRODUCT_PACKAGES += \ 102 libaudiopolicyengineconfigurable \ 103 libpolicy-subsystem 104 105# Include all zygote init scripts. "ro.zygote" will select one of them. 106PRODUCT_COPY_FILES += \ 107 system/core/rootdir/init.zygote32.rc:system/etc/init/hw/init.zygote32.rc \ 108 system/core/rootdir/init.zygote64.rc:system/etc/init/hw/init.zygote64.rc \ 109 system/core/rootdir/init.zygote64_32.rc:system/etc/init/hw/init.zygote64_32.rc \ 110 111# Enable dynamic partition size 112PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true 113 114PRODUCT_ENFORCE_RRO_TARGETS := * 115 116PRODUCT_NAME := generic_system 117PRODUCT_BRAND := generic 118 119# Define /system partition-specific product properties to identify that /system 120# partition is generic_system. 121PRODUCT_SYSTEM_NAME := mainline 122PRODUCT_SYSTEM_BRAND := Android 123PRODUCT_SYSTEM_MANUFACTURER := Android 124PRODUCT_SYSTEM_MODEL := mainline 125PRODUCT_SYSTEM_DEVICE := generic 126 127_base_mk_allowed_list := 128 129_my_allowed_list := $(_base_mk_allowed_list) 130 131# For mainline, system.img should be mounted at /, so we include ROOT here. 132_my_paths := \ 133 $(TARGET_COPY_OUT_ROOT)/ \ 134 $(TARGET_COPY_OUT_SYSTEM)/ \ 135 136$(call require-artifacts-in-path, $(_my_paths), $(_my_allowed_list)) 137