Android 源碼編譯如何確定模塊安裝的位置

1、system/app

include $(BUILD_*)  LOCAL_*
include $(BUILD_PACKAGE)
#or#
LOCAL_MODULE_CLASS := APPS
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PROPRIETARY_MODULE
not set LOCAL_PRIVILEGED_MODULE
not set LOCAL_MODULE_TAGS to tests

首先明確一點

include $(CLEAR_VARS)

include $(BUILD_PACKAGE)

組合用於編譯帶源碼src文件夾

include $(CLEAR_VARS)

LOCAL_MODULE_CLASS := APPS

include $(BUILD_PREBUILT)

組合用於編譯帶apk文件

不指定路徑時,默認輸出到 system/app 目錄

frameworks\base\packages\EasterEgg\Android.mk

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional
LOCAL_STATIC_JAVA_LIBRARIES := \
    android-support-v4 \
    android-support-v13 \
    android-support-dynamic-animation \
    android-support-v7-recyclerview \
    android-support-v7-preference \
    android-support-v7-appcompat \
    android-support-v14-preference \
    jsr305

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_PACKAGE_NAME := EasterEgg
LOCAL_CERTIFICATE := platform

include $(BUILD_PACKAGE)

include $(call all-makefiles-under,$(LOCAL_PATH))

2、system/bin

include $(BUILD_*)  LOCAL_*
include $(BUILD_EXECUTABLE)
#or#
LOCAL_MODULE_CLASS :=EXECUTABLES
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PROPRIETARY_MODULE
not set LOCAL_PRIVILEGED_MODULE

3、system/etc

include $(BUILD_*)  LOCAL_*
LOCAL_MODULE_CLASS := ETC
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PROPRIETARY_MODULE
not set LOCAL_PRIVILEGED_MODULE

4、system/etc/xxxx

include $(BUILD_*)  LOCAL_*
LOCAL_MODULE_CLASS := ETC
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_PROPRIETARY_MODULE
not set LOCAL_PRIVILEGED_MODULE
LOCAL_MODULE_RELATIVE_PATH := xxxx

5、system/framework

include $(BUILD_*)  LOCAL_*
include $(BUILD_JAVA_LIBRARY)
#or#
LOCAL_MODULE_CLASS :=
JAVA_LIBRARIES
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PROPRIETARY_MODULE
not set LOCAL_PRIVILEGED_MODULE

6、system/lib

include $(BUILD_*)  LOCAL_*
include $(BUILD_SHARED_LIBRARY)
#or#
LOCAL_MODULE_CLASS :=SHARED_LIBRARIES
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PROPRIETARY_MODULE
not set LOCAL_PRIVILEGED_MODULE

7、system/lib/xxxx

include $(BUILD_*)  LOCAL_*
include $(BUILD_SHARED_LIBRARY)
#or#
LOCAL_MODULE_CLASS :=SHARED_LIBRARIES
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_PROPRIETARY_MODULE
not set LOCAL_PRIVILEGED_MODULE
LOCAL_MODULE_RELATIVE_PATH := xxxx

8、system/priv-app

include $(BUILD_*)  LOCAL_*
include $(BUILD_PACKAGE)
#or#
LOCAL_MODULE_CLASS := APPS
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PROPRIETARY_MODULE
not set LOCAL_MODULE_TAGS to tests
LOCAL_PRIVILEGED_MODULE := true

9、system/xbin

include $(BUILD_*)  LOCAL_*
include $(BUILD_EXECUTABLE)
#or#
LOCAL_MODULE_CLASS :=EXECUTABLES
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PROPRIETARY_MODULE
not set LOCAL_PRIVILEGED_MODULE
LOCAL_MODULE_PATH :=
$(TARGET_OUT_OPTIONAL_EXECUTABLES)

10、system/yyyy

include $(BUILD_*)  LOCAL_*
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PROPRIETARY_MODULE
not set LOCAL_PRIVILEGED_MODULE
LOCAL_MODULE_PATH := $(TARGET_OUT)/yyyy

11、vendor/app

include $(BUILD_*)  LOCAL_*
include $(BUILD_PACKAGE)
#or#
LOCAL_MODULE_CLASS := APPS
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PRIVILEGED_MODULE
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_OWNER := mtk

12、vendor/bin

include $(BUILD_*)  LOCAL_*
include $(BUILD_EXECUTABLE)
#or#
LOCAL_MODULE_CLASS :=EXECUTABLES
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PRIVILEGED_MODULE
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_OWNER := mtk

13、vendor/etc

include $(BUILD_*)  LOCAL_*
LOCAL_MODULE_CLASS := ETC
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PRIVILEGED_MODULE
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_OWNER := mtk

14、vendor/etc/xxxx

include $(BUILD_*)  LOCAL_*
LOCAL_MODULE_CLASS := ETC
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_PRIVILEGED_MODULE
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_OWNER := mtk
LOCAL_MODULE_RELATIVE_PATH := xxxx

15、vendor/framework

include $(BUILD_*)  LOCAL_*
include $(BUILD_JAVA_LIBRARY)
#or#
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PRIVILEGED_MODULE
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_OWNER := mtk

16、vendor/lib

include $(BUILD_*)  LOCAL_*
include $(BUILD_SHARED_LIBRARY)
#or#
LOCAL_MODULE_CLASS :=SHARED_LIBRARIES
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PRIVILEGED_MODULE
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_OWNER := mtk

17、vendor/lib/xxxx

include $(BUILD_*)  LOCAL_*
include $(BUILD_SHARED_LIBRARY)
#or#
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_PRIVILEGED_MODULE
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_OWNER := mtk
LOCAL_MODULE_RELATIVE_PATH := xxxx

18、vendor/priv-app

include $(BUILD_*)  LOCAL_*
include $(BUILD_PACKAGE)
#or#
LOCAL_MODULE_CLASS := APPS
include $(BUILD_PREBUILT)
(only for O. not support N and before)
not set LOCAL_MODULE_PATH
not set LOCAL_MODULE_RELATIVE_PATH
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_OWNER := mtk
LOCAL_PRIVILEGED_MODULE := true

19、vendor/xbin

include $(BUILD_*)  LOCAL_*
include $(BUILD_EXECUTABLE)
#or#
LOCAL_MODULE_CLASS := EXECUTABLES
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PRIVILEGED_MODULE
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_OWNER := mtk
LOCAL_MODULE_PATH :=
$(TARGET_OUT_VENDOR_OPTIONAL_EXECUTABLES)

20、vendor/yyyy

include $(BUILD_*)  LOCAL_*
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PRIVILEGED_MODULE
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_OWNER := mtk
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/yyyy

21、data

include $(BUILD_*)  LOCAL_*
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PRIVILEGED_MODULE
not set LOCAL_PROPRIETARY_MODULE
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)

22、data/app

include $(BUILD_*)  LOCAL_*
include $(BUILD_PACKAGE)
#or#
LOCAL_MODULE_CLASS := APPS
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PRIVILEGED_MODULE
not set LOCAL_PROPRIETARY_MODULE
LOCAL_MODULE_TAGS := tests

23、data/xxxx

include $(BUILD_*)  LOCAL_*
not set LOCAL_PRIVILEGED_MODULE
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PROPRIETARY_MODULE
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/xxxx

24、root

include $(BUILD_*)  LOCAL_*
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PRIVILEGED_MODULE
not set LOCAL_PROPRIETARY_MODULE
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)

25、root/bin

include $(BUILD_*)  LOCAL_*
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PRIVILEGED_MODULE
not set LOCAL_PROPRIETARY_MODULE
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_BIN)
# 26、root/sbin
include $(BUILD_*)  LOCAL_*
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PRIVILEGED_MODULE
not set LOCAL_PROPRIETARY_MODULE
LOCAL_MODULE_PATH := $((TARGET_ROOT_OUT_SBIN)

27、root/etc

include $(BUILD_*)  LOCAL_*
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PRIVILEGED_MODULE
not set LOCAL_PROPRIETARY_MODULE
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_ETC)

28、root/usr

include $(BUILD_*)  LOCAL_*
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PRIVILEGED_MODULE
not set LOCAL_PROPRIETARY_MODULE
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_USR)

29、odm/app

include $(BUILD_*)  LOCAL_*
include $(BUILD_PACKAGE)
#or#
LOCAL_MODULE_CLASS := APPS
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PROPRIETARY_MODULE
not set LOCAL_PRIVILEGED_MODULE
LOCAL_ODM_MODULE := true

30、oem/app

include $(BUILD_*)  LOCAL_*
include $(BUILD_PACKAGE)
#or#
LOCAL_MODULE_CLASS := APPS
include $(BUILD_PREBUILT)
not set LOCAL_MODULE_PATH
not set LOCAL_MODULE_RELATIVE_PATH
not set LOCAL_PROPRIETARY_MODULE
not set LOCAL_PRIVILEGED_MODULE
LOCAL_OEM_MODULE := true
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章