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 21 PRODUCT_BRAND := generic 22 PRODUCT_DEVICE := generic 23 PRODUCT_NAME := core 24 25 PRODUCT_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 95 PRODUCT_PACKAGES += \ 96 wifi-service \ 97 wificond \ 98 99 PRODUCT_COPY_FILES += \ 100 frameworks/native/data/etc/android.software.webview.xml:system/etc/permissions/android.software.webview.xml 101 102 ifneq (REL,$(PLATFORM_VERSION_CODENAME)) 103 PRODUCT_COPY_FILES += \ 104 frameworks/native/data/etc/android.software.preview_sdk.xml:system/etc/permissions/android.software.preview_sdk.xml 105 endif 106 107 ifeq ($(TARGET_CORE_JARS),) 108 $(error TARGET_CORE_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable) 109 endif 110 111 # The order of PRODUCT_BOOT_JARS matters. 112 PRODUCT_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 122 ifeq ($(REMOVE_OAHL_FROM_BCP),true) 123 PRODUCT_BOOT_JARS += framework-oahl-backward-compatibility 124 else 125 PRODUCT_BOOT_JARS += org.apache.http.legacy.boot 126 endif 127 128 ifeq ($(REMOVE_ATB_FROM_BCP),true) 129 PRODUCT_BOOT_JARS += framework-atb-backward-compatibility 130 else 131 PRODUCT_BOOT_JARS += android.test.base 132 endif 133 134 # The order of PRODUCT_SYSTEM_SERVER_JARS matters. 135 PRODUCT_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. 142 PRODUCT_SYSTEM_SERVER_APPS += \ 143 SettingsProvider \ 144 WallpaperBackup 145 146 # Adoptable external storage supports both ext4 and f2fs 147 PRODUCT_PACKAGES += \ 148 e2fsck \ 149 mke2fs \ 150 fsck.f2fs \ 151 make_f2fs \ 152 153 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 154 ro.zygote=zygote32 155 PRODUCT_COPY_FILES += \ 156 system/core/rootdir/init.zygote32.rc:root/init.zygote32.rc 157 158 PRODUCT_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 162 PRODUCT_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. 166 PRODUCT_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. 170 ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) 171 PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ 172 tombstoned.max_tombstone_count=50 173 endif 174 175 PRODUCT_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