BOOTCLASSPATH

libcore/luni/src/main/java/java/lang/System.java


 private static void initSystemProperties() {

        VMRuntime runtime = VMRuntime.getRuntime();

        Properties p = new Properties();


        String projectUrl = "http://www.android.com/";

        String projectName = "The Android Project";


        p.put("java.boot.class.path", runtime.bootClassPath());

        p.put("java.class.path", runtime.classPath());



system/core/rootdir/init.environ.rc.in:

# set up the global environment

on init

    export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin

    export LD_LIBRARY_PATH /vendor/lib:/system/lib

    export ANDROID_BOOTLOGO 1

    export ANDROID_ROOT /system

    export ANDROID_ASSETS /system/app

    export ANDROID_DATA /data

    export ANDROID_STORAGE /storage

    export ASEC_MOUNTPOINT /mnt/asec

    export LOOP_MOUNTPOINT /mnt/obb

    export BOOTCLASSPATH %BOOTCLASSPATH%


system/core/rootdir/Android.mk:

include $(CLEAR_VARS)

LOCAL_MODULE_CLASS := ETC

LOCAL_MODULE := init.environ.rc

LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)


# Put it here instead of in init.rc module definition,

# because init.rc is conditionally included.

#

# create some directories (some are mount points)

LOCAL_POST_INSTALL_CMD := mkdir -p $(addprefix $(TARGET_ROOT_OUT)/, \

    sbin dev proc sys system data \

    backup)


include $(BUILD_SYSTEM)/base_rules.mk


$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/init.environ.rc.in

@echo "Generate: $< -> $@"

@mkdir -p $(dir $@)

$(hide) sed -e 's?%BOOTCLASSPATH%?$(PRODUCT_BOOTCLASSPATH)?g' $< >$@


build/core/dex_preopt.mk:

DEXPREOPT_BOOT_JARS := $(PRODUCT_BOOT_JARS)

DEXPREOPT_BOOT_JARS_MODULES := $(subst :, ,$(DEXPREOPT_BOOT_JARS))

PRODUCT_BOOTCLASSPATH := $(subst $(space),:,$(foreach m,$(DEXPREOPT_BOOT_JARS_MODULES),/system/framework/$(m).jar))


build/target/product/core_base.mk:

$(call inherit-product, $(SRC_TARGET_DIR)/product/core_minimal.mk)

# Override the PRODUCT_BOOT_JARS set in core_minimal.mk

PRODUCT_BOOT_JARS := core:conscrypt:okhttp:core-junit:bouncycastle:ext:framework:framework2:telephony-common:voip-common:mms-common:android.policy:services:apache-xml:webviewchromium




after compile, in out :

out/target/product/xxx $ grep -irsn BOOTCLASSPATH .

./root/init.environ.rc:12:    export BOOTCLASSPATH /system/framework/core.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/webviewchromium.jar

./obj/ETC/init.environ.rc_intermediates/init.environ.rc:12:    export BOOTCLASSPATH /system/framework/core.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/webviewchromium.jar



Can use $BOOTCLASSPATH in anroid command line to see what BOOTCLASSPATH is .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值