1# 2# Copyright (C) 2013 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# Base configuration for most consumer android devices. Do not put 18# things that are specific to communication devices (phones, tables, 19# etc.) here -- for that, use core.mk. 20 21PRODUCT_BRAND := generic 22PRODUCT_DEVICE := generic 23PRODUCT_NAME := core 24 25PRODUCT_PACKAGES += \ 26 BackupRestoreConfirmation \ 27 CompanionDeviceManager \ 28 CtsShimPrebuilt \ 29 CtsShimPrivPrebuilt \ 30 DownloadProvider \ 31 ExtShared \ 32 ExtServices \ 33 HTMLViewer \ 34 MediaProvider \ 35 PackageInstaller \ 36 SecureElement \ 37 SettingsProvider \ 38 Shell \ 39 StatementService \ 40 WallpaperBackup \ 41 android.hidl.base-V1.0-java \ 42 android.hidl.manager-V1.0-java \ 43 bcc \ 44 bu \ 45 com.android.future.usb.accessory \ 46 com.android.location.provider \ 47 com.android.location.provider.xml \ 48 com.android.media.remotedisplay \ 49 com.android.media.remotedisplay.xml \ 50 com.android.mediadrm.signer \ 51 com.android.mediadrm.signer.xml \ 52 drmserver \ 53 ethernet-service \ 54 framework-res \ 55 idmap \ 56 installd \ 57 ims-common \ 58 ip \ 59 ip-up-vpn \ 60 ip6tables \ 61 iptables \ 62 gatekeeperd \ 63 keystore \ 64 ld.config.txt \ 65 ld.mc \ 66 libaaudio \ 67 libOpenMAXAL \ 68 libOpenSLES \ 69 libdownmix \ 70 libdrmframework \ 71 libdrmframework_jni \ 72 libfilterfw \ 73 libkeystore \ 74 libgatekeeper \ 75 libneuralnetworks \ 76 libwebviewchromium_loader \ 77 libwebviewchromium_plat_support \ 78 libwilhelm \ 79 logd \ 80 mke2fs \ 81 e2fsck \ 82 resize2fs \ 83 tune2fs \ 84 screencap \ 85 sensorservice \ 86 telephony-common \ 87 uiautomator \ 88 uncrypt \ 89 vndk_snapshot_package \ 90 voip-common \ 91 webview \ 92 webview_zygote \ 93 94# Wifi modules 95PRODUCT_PACKAGES += \ 96 wifi-service \ 97 wificond \ 98 99PRODUCT_COPY_FILES += \ 100 frameworks/native/data/etc/android.software.webview.xml:system/etc/permissions/android.software.webview.xml 101 102ifneq (REL,$(PLATFORM_VERSION_CODENAME)) 103PRODUCT_COPY_FILES += \ 104 frameworks/native/data/etc/android.software.preview_sdk.xml:system/etc/permissions/android.software.preview_sdk.xml 105endif 106 107ifeq ($(TARGET_CORE_JARS),) 108$(error TARGET_CORE_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable) 109endif 110 111# The order of PRODUCT_BOOT_JARS matters. 112PRODUCT_BOOT_JARS := \ 113 $(TARGET_CORE_JARS) \ 114 ext \ 115 framework \ 116 telephony-common \ 117 voip-common \ 118 ims-common \ 119 android.hidl.base-V1.0-java \ 120 android.hidl.manager-V1.0-java 121 122ifeq ($(REMOVE_OAHL_FROM_BCP),true) 123PRODUCT_BOOT_JARS += framework-oahl-backward-compatibility 124else 125PRODUCT_BOOT_JARS += org.apache.http.legacy.boot 126endif 127 128ifeq ($(REMOVE_ATB_FROM_BCP),true) 129PRODUCT_BOOT_JARS += framework-atb-backward-compatibility 130else 131PRODUCT_BOOT_JARS += android.test.base 132endif 133 134# The order of PRODUCT_SYSTEM_SERVER_JARS matters. 135PRODUCT_SYSTEM_SERVER_JARS := \ 136 services \ 137 ethernet-service \ 138 wifi-service \ 139 com.android.location.provider \ 140 141# The set of packages whose code can be loaded by the system server. 142PRODUCT_SYSTEM_SERVER_APPS += \ 143 SettingsProvider \ 144 WallpaperBackup 145 146# Adoptable external storage supports both ext4 and f2fs 147PRODUCT_PACKAGES += \ 148 e2fsck \ 149 mke2fs \ 150 fsck.f2fs \ 151 make_f2fs \ 152 153PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 154 ro.zygote=zygote32 155PRODUCT_COPY_FILES += \ 156 system/core/rootdir/init.zygote32.rc:root/init.zygote32.rc 157 158PRODUCT_COPY_FILES += \ 159 system/core/rootdir/etc/public.libraries.android.txt:system/etc/public.libraries.txt 160 161# Enable boot.oat filtering of compiled classes to reduce boot.oat size. b/28026683 162PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ 163 frameworks/base/config/compiled-classes-phone:system/etc/compiled-classes) 164 165# Enable dirty image object binning to reduce dirty pages in the image. 166PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ 167 frameworks/base/dirty-image-objects-phone:system/etc/dirty-image-objects) 168 169# On userdebug builds, collect more tombstones by default. 170ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) 171PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ 172 tombstoned.max_tombstone_count=50 173endif 174 175PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 176 ro.logd.size.stats=64K \ 177 log.tag.stats_log=I 178 179$(call inherit-product, $(SRC_TARGET_DIR)/product/runtime_libart.mk) 180$(call inherit-product, $(SRC_TARGET_DIR)/product/base.mk) 181 182# Enable CFI for security-sensitive components 183$(call inherit-product, $(SRC_TARGET_DIR)/product/cfi-common.mk) 184$(call inherit-product-if-exists, vendor/google/products/cfi-vendor.mk) 185