forked from openkylin/platform_build
Make default 64-bit primary, 32-bit secondary
This is required to get aarch64 & x86_64 emulators booting
on lmp-preview-dev. Without this change, the system_server
is a 32 bit process but java only apps that use the
"android.uid.system" shared UID are dex2oated to 64 bit and
won't work correctly.
The correct fix needs build system changes, so this is the
easiest fix for now.
Note that this happens to work on volantis because the package
manager adjusts their ABI correctly during boot. That can't
happen on emulators because of dex-preopt; dex2oat can't oatify
a dex file from inside an existing oat file.
(cherry picked from commit d795046319
)
Change-Id: Id94bcc382e90b279e726f2d1d0350fc60a5020df
This commit is contained in:
parent
e87fcf5e16
commit
85455b6cce
|
@ -260,6 +260,9 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
|
|||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
|
||||
|
||||
# Change ro.zygote for core_64_bit.mk from zygote32_64 to zygote64_32
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/default.prop)
|
||||
# ************************************************
|
||||
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
|
||||
# ************************************************
|
||||
|
|
|
@ -254,7 +254,7 @@ endif
|
|||
#
|
||||
# Note that this assumes that the 2ND_CPU_ABI for a 64 bit target
|
||||
# is always 32 bits. If this isn't the case, these variables should
|
||||
# be overriden in the boarc configuration.
|
||||
# be overriden in the board configuration.
|
||||
ifeq (,$(TARGET_CPU_ABI_LIST_64_BIT))
|
||||
ifeq (true|true,$(TARGET_IS_64_BIT)|$(TARGET_SUPPORTS_64_BIT_APPS))
|
||||
TARGET_CPU_ABI_LIST_64_BIT := $(TARGET_CPU_ABI) $(TARGET_CPU_ABI2)
|
||||
|
|
|
@ -22,12 +22,12 @@
|
|||
# For now this will allow 64-bit apps, but still compile all apps with JNI
|
||||
# for 32-bit only.
|
||||
|
||||
# Copy the 32-bit primary, 64-bit secondary zygote startup script
|
||||
PRODUCT_COPY_FILES += system/core/rootdir/init.zygote32_64.rc:root/init.zygote32_64.rc
|
||||
# Copy the 64-bit primary, 32-bit secondary zygote startup script
|
||||
PRODUCT_COPY_FILES += system/core/rootdir/init.zygote64_32.rc:root/init.zygote64_32.rc
|
||||
|
||||
# Set the zygote property to select the 32-bit primary, 64-bit secondary script
|
||||
# Set the zygote property to select the 64-bit primary, 32-bit secondary script
|
||||
# This line must be parsed before the one in core_minimal.mk
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote32_64
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote64_32
|
||||
|
||||
TARGET_SUPPORTS_32_BIT_APPS := true
|
||||
TARGET_SUPPORTS_64_BIT_APPS := true
|
||||
|
|
Loading…
Reference in New Issue