diff --git a/target/product/base.mk b/target/product/base.mk index 45cbf7ecb..7119ef154 100644 --- a/target/product/base.mk +++ b/target/product/base.mk @@ -103,7 +103,6 @@ PRODUCT_PACKAGES += \ libvorbisidec \ libmediandk \ libvulkan \ - libwifi-service \ locksettings \ media \ media_cmd \ diff --git a/target/product/core_base.mk b/target/product/core_base.mk index 151e8de45..b5f925215 100644 --- a/target/product/core_base.mk +++ b/target/product/core_base.mk @@ -16,55 +16,14 @@ # Note that components added here will be also shared in PDK. Components # that should not be in PDK should be added in lower level like core.mk. -PRODUCT_PROPERTY_OVERRIDES := \ - ro.config.notification_sound=OnTheHunt.ogg \ - ro.config.alarm_alert=Alarm_Classic.ogg - -PRODUCT_PACKAGES += \ - ContactsProvider \ - DefaultContainerService \ - Home \ - TelephonyProvider \ - UserDictionaryProvider \ - atrace \ - libandroidfw \ - libaudiopreprocessing \ - libaudioutils \ - libfilterpack_imageproc \ - libgabi++ \ - libmdnssd \ - libnfc_ndef \ - libpowermanager \ - libspeexresampler \ - libstagefright_soft_aacdec \ - libstagefright_soft_aacenc \ - libstagefright_soft_amrdec \ - libstagefright_soft_amrnbenc \ - libstagefright_soft_amrwbenc \ - libstagefright_soft_avcdec \ - libstagefright_soft_avcenc \ - libstagefright_soft_flacdec \ - libstagefright_soft_flacenc \ - libstagefright_soft_g711dec \ - libstagefright_soft_gsmdec \ - libstagefright_soft_hevcdec \ - libstagefright_soft_mp3dec \ - libstagefright_soft_mpeg2dec \ - libstagefright_soft_mpeg4dec \ - libstagefright_soft_mpeg4enc \ - libstagefright_soft_opusdec \ - libstagefright_soft_rawdec \ - libstagefright_soft_vorbisdec \ - libstagefright_soft_vpxdec \ - libstagefright_soft_vpxenc \ - libvariablespeed \ - libwebrtc_audio_preprocessing \ - mdnsd \ - requestsync \ - # Wifi modules -PRODUCT_PACKAGES += \ +PRODUCT_PACKAGES := \ wifi-service \ wificond \ -$(call inherit-product, $(SRC_TARGET_DIR)/product/core_minimal.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/core_base_no_wifi.mk) + +# The order of PRODUCT_SYSTEM_SERVER_JARS matters. +PRODUCT_SYSTEM_SERVER_JARS += \ + wifi-service + diff --git a/target/product/core_base_no_wifi.mk b/target/product/core_base_no_wifi.mk new file mode 100644 index 000000000..941976e0e --- /dev/null +++ b/target/product/core_base_no_wifi.mk @@ -0,0 +1,65 @@ +# +# Copyright (C) 2018 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Note that components added here will be also shared in PDK. Components +# that should not be in PDK should be added in lower level like core.mk. + +PRODUCT_PROPERTY_OVERRIDES := \ + ro.config.notification_sound=OnTheHunt.ogg \ + ro.config.alarm_alert=Alarm_Classic.ogg + +PRODUCT_PACKAGES += \ + ContactsProvider \ + DefaultContainerService \ + Home \ + TelephonyProvider \ + UserDictionaryProvider \ + atrace \ + libandroidfw \ + libaudiopreprocessing \ + libaudioutils \ + libfilterpack_imageproc \ + libgabi++ \ + libmdnssd \ + libnfc_ndef \ + libpowermanager \ + libspeexresampler \ + libstagefright_soft_aacdec \ + libstagefright_soft_aacenc \ + libstagefright_soft_amrdec \ + libstagefright_soft_amrnbenc \ + libstagefright_soft_amrwbenc \ + libstagefright_soft_avcdec \ + libstagefright_soft_avcenc \ + libstagefright_soft_flacdec \ + libstagefright_soft_flacenc \ + libstagefright_soft_g711dec \ + libstagefright_soft_gsmdec \ + libstagefright_soft_hevcdec \ + libstagefright_soft_mp3dec \ + libstagefright_soft_mpeg2dec \ + libstagefright_soft_mpeg4dec \ + libstagefright_soft_mpeg4enc \ + libstagefright_soft_opusdec \ + libstagefright_soft_rawdec \ + libstagefright_soft_vorbisdec \ + libstagefright_soft_vpxdec \ + libstagefright_soft_vpxenc \ + libvariablespeed \ + libwebrtc_audio_preprocessing \ + mdnsd \ + requestsync \ + +$(call inherit-product, $(SRC_TARGET_DIR)/product/core_minimal_no_wifi.mk) diff --git a/target/product/core_minimal.mk b/target/product/core_minimal.mk index 550c57c54..aa8e7156f 100644 --- a/target/product/core_minimal.mk +++ b/target/product/core_minimal.mk @@ -18,151 +18,14 @@ # things that are specific to communication devices (phones, tables, # etc.) here -- for that, use core.mk. -PRODUCT_BRAND := generic -PRODUCT_DEVICE := generic -PRODUCT_NAME := core - -PRODUCT_PACKAGES += \ - BackupRestoreConfirmation \ - CompanionDeviceManager \ - CtsShimPrebuilt \ - CtsShimPrivPrebuilt \ - DownloadProvider \ - ExtShared \ - ExtServices \ - HTMLViewer \ - MediaProvider \ - PackageInstaller \ - SettingsProvider \ - Shell \ - StatementService \ - WallpaperBackup \ - android.hidl.base-V1.0-java \ - android.hidl.manager-V1.0-java \ - bcc \ - bu \ - com.android.future.usb.accessory \ - com.android.location.provider \ - com.android.location.provider.xml \ - com.android.media.remotedisplay \ - com.android.media.remotedisplay.xml \ - com.android.mediadrm.signer \ - com.android.mediadrm.signer.xml \ - drmserver \ - ethernet-service \ - framework-res \ - idmap \ - installd \ - ims-common \ - ip \ - ip-up-vpn \ - ip6tables \ - iptables \ - gatekeeperd \ - keystore \ - ld.config.txt \ - ld.mc \ - libaaudio \ - libOpenMAXAL \ - libOpenSLES \ - libdownmix \ - libdrmframework \ - libdrmframework_jni \ - libfilterfw \ - libkeystore \ - libgatekeeper \ - libneuralnetworks \ - libwebviewchromium_loader \ - libwebviewchromium_plat_support \ - libwilhelm \ - logd \ - mke2fs \ - e2fsck \ - resize2fs \ - tune2fs \ - screencap \ - sensorservice \ - telephony-common \ - uiautomator \ - uncrypt \ - voip-common \ - webview \ - webview_zygote \ - # Wifi modules -PRODUCT_PACKAGES += \ +PRODUCT_PACKAGES := \ wifi-service \ wificond \ -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.software.webview.xml:system/etc/permissions/android.software.webview.xml - -ifneq (REL,$(PLATFORM_VERSION_CODENAME)) -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.software.preview_sdk.xml:system/etc/permissions/android.software.preview_sdk.xml -endif - -ifeq ($(TARGET_CORE_JARS),) -$(error TARGET_CORE_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable) -endif - -# The order of PRODUCT_BOOT_JARS matters. -PRODUCT_BOOT_JARS := \ - $(TARGET_CORE_JARS) \ - android.test.base \ - ext \ - framework \ - telephony-common \ - voip-common \ - ims-common \ - org.apache.http.legacy.boot \ - android.hidl.base-V1.0-java \ - android.hidl.manager-V1.0-java +$(call inherit-product, $(SRC_TARGET_DIR)/product/core_minimal_no_wifi.mk) # The order of PRODUCT_SYSTEM_SERVER_JARS matters. -PRODUCT_SYSTEM_SERVER_JARS := \ - services \ - ethernet-service \ - wifi-service \ - com.android.location.provider \ +PRODUCT_SYSTEM_SERVER_JARS += \ + wifi-service -# The set of packages whose code can be loaded by the system server. -PRODUCT_SYSTEM_SERVER_APPS += \ - SettingsProvider \ - WallpaperBackup - -# Adoptable external storage supports both ext4 and f2fs -PRODUCT_PACKAGES += \ - e2fsck \ - mke2fs \ - fsck.f2fs \ - make_f2fs \ - -PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ - ro.zygote=zygote32 -PRODUCT_COPY_FILES += \ - system/core/rootdir/init.zygote32.rc:root/init.zygote32.rc - -PRODUCT_COPY_FILES += \ - system/core/rootdir/etc/public.libraries.android.txt:system/etc/public.libraries.txt - -# Enable boot.oat filtering of compiled classes to reduce boot.oat size. b/28026683 -PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ - frameworks/base/config/compiled-classes-phone:system/etc/compiled-classes) - -# Enable dirty image object binning to reduce dirty pages in the image. -PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ - frameworks/base/dirty-image-objects-phone:system/etc/dirty-image-objects) - -# On userdebug builds, collect more tombstones by default. -ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) -PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ - tombstoned.max_tombstone_count=50 -endif - -PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ - ro.logd.size.stats=64K \ - log.tag.stats_log=I - -$(call inherit-product, $(SRC_TARGET_DIR)/product/runtime_libart.mk) -$(call inherit-product, $(SRC_TARGET_DIR)/product/base.mk) diff --git a/target/product/core_minimal_no_wifi.mk b/target/product/core_minimal_no_wifi.mk new file mode 100644 index 000000000..a0b70937a --- /dev/null +++ b/target/product/core_minimal_no_wifi.mk @@ -0,0 +1,162 @@ +# +# Copyright (C) 2018 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Base configuration for most consumer android devices. Do not put +# things that are specific to communication devices (phones, tables, +# etc.) here -- for that, use core.mk. + +PRODUCT_BRAND := generic +PRODUCT_DEVICE := generic +PRODUCT_NAME := core + +PRODUCT_PACKAGES += \ + BackupRestoreConfirmation \ + CompanionDeviceManager \ + CtsShimPrebuilt \ + CtsShimPrivPrebuilt \ + DownloadProvider \ + ExtShared \ + ExtServices \ + HTMLViewer \ + MediaProvider \ + PackageInstaller \ + SettingsProvider \ + Shell \ + StatementService \ + WallpaperBackup \ + android.hidl.base-V1.0-java \ + android.hidl.manager-V1.0-java \ + bcc \ + bu \ + com.android.future.usb.accessory \ + com.android.location.provider \ + com.android.location.provider.xml \ + com.android.media.remotedisplay \ + com.android.media.remotedisplay.xml \ + com.android.mediadrm.signer \ + com.android.mediadrm.signer.xml \ + drmserver \ + ethernet-service \ + framework-res \ + idmap \ + installd \ + ims-common \ + ip \ + ip-up-vpn \ + ip6tables \ + iptables \ + gatekeeperd \ + keystore \ + ld.config.txt \ + ld.mc \ + libaaudio \ + libOpenMAXAL \ + libOpenSLES \ + libdownmix \ + libdrmframework \ + libdrmframework_jni \ + libfilterfw \ + libkeystore \ + libgatekeeper \ + libneuralnetworks \ + libwebviewchromium_loader \ + libwebviewchromium_plat_support \ + libwilhelm \ + logd \ + mke2fs \ + e2fsck \ + resize2fs \ + tune2fs \ + screencap \ + sensorservice \ + telephony-common \ + uiautomator \ + uncrypt \ + voip-common \ + webview \ + webview_zygote \ + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.webview.xml:system/etc/permissions/android.software.webview.xml + +ifneq (REL,$(PLATFORM_VERSION_CODENAME)) +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.preview_sdk.xml:system/etc/permissions/android.software.preview_sdk.xml +endif + +ifeq ($(TARGET_CORE_JARS),) +$(error TARGET_CORE_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable) +endif + +# The order of PRODUCT_BOOT_JARS matters. +PRODUCT_BOOT_JARS := \ + $(TARGET_CORE_JARS) \ + android.test.base \ + ext \ + framework \ + telephony-common \ + voip-common \ + ims-common \ + org.apache.http.legacy.boot \ + android.hidl.base-V1.0-java \ + android.hidl.manager-V1.0-java + +# The order of PRODUCT_SYSTEM_SERVER_JARS matters. +PRODUCT_SYSTEM_SERVER_JARS := \ + services \ + ethernet-service \ + com.android.location.provider \ + +# The set of packages whose code can be loaded by the system server. +PRODUCT_SYSTEM_SERVER_APPS += \ + SettingsProvider \ + WallpaperBackup + +# Adoptable external storage supports both ext4 and f2fs +PRODUCT_PACKAGES += \ + e2fsck \ + mke2fs \ + fsck.f2fs \ + make_f2fs \ + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + ro.zygote=zygote32 +PRODUCT_COPY_FILES += \ + system/core/rootdir/init.zygote32.rc:root/init.zygote32.rc + +PRODUCT_COPY_FILES += \ + system/core/rootdir/etc/public.libraries.android.txt:system/etc/public.libraries.txt + +# Enable boot.oat filtering of compiled classes to reduce boot.oat size. b/28026683 +PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ + frameworks/base/config/compiled-classes-phone:system/etc/compiled-classes) + +# Enable dirty image object binning to reduce dirty pages in the image. +PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ + frameworks/base/dirty-image-objects-phone:system/etc/dirty-image-objects) + +# On userdebug builds, collect more tombstones by default. +ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) +PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ + tombstoned.max_tombstone_count=50 +endif + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + ro.logd.size.stats=64K \ + log.tag.stats_log=I + +$(call inherit-product, $(SRC_TARGET_DIR)/product/runtime_libart.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/base.mk)