预编译的.so bin apk编译到Android系统通用Android.mk

示例文件夹prebuilts 树状图

prebuilts/
├── Android.mk
├── lib64
│   ├── 000.so
│   └── Android.mk
├── lib
│   ├── 111.so
│   └── Android.mk
├── bin
│   ├── 222
│   └── Android.mk
└── launcherTV
    ├── Android.mk
    └── launcherTV.apk

prebuilts/Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
include $(call all-makefiles-under, $(LOCAL_PATH))

prebuilts/lib64/Android.mk

LOCAL_PATH := $(call my-dir)

define make_dir
$(foreach t,$(1), \
  $(shell mkdir -p $(t) ) \
)
endef

define copy_to_out
$(foreach t,$(1), \
  $(shell cp -arf $(LOCAL_PATH)/$(t) $(PRODUCT_OUT)/vendor/lib64/$(t)) \
)
endef


DIR += $(TARGET_OUT_VENDOR)/lib64/

MODULES_TO_COPY += $(filter-out Android.mk, $(notdir $(wildcard $(LOCAL_PATH)/*.so)))

$(call make_dir, $(DIR))
$(call copy_to_out, $(MODULES_TO_COPY))

prebuilts/lib/Android.mk

LOCAL_PATH := $(call my-dir)

define make_dir
$(foreach t,$(1), \
  $(shell mkdir -p $(t) ) \
)
endef

define copy_to_out
$(foreach t,$(1), \
  $(shell cp -arf $(LOCAL_PATH)/$(t) $(PRODUCT_OUT)/vendor/lib/$(t)) \
)
endef


DIR += $(TARGET_OUT_VENDOR)/lib/

MODULES_TO_COPY += $(filter-out Android.mk, $(notdir $(wildcard $(LOCAL_PATH)/*.so)))

$(call make_dir, $(DIR))
$(call copy_to_out, $(MODULES_TO_COPY))

prebuilts/bin/Android.mk

LOCAL_PATH := $(call my-dir)

define make_dir
$(foreach t,$(1), \
  $(shell mkdir -p $(t) ) \
)
endef

define copy_to_out
$(foreach t,$(1), \
  $(shell cp -arf $(LOCAL_PATH)/$(t) $(PRODUCT_OUT)/vendor/bin/$(t)) \
)
endef


DIR += $(TARGET_OUT_VENDOR)/bin/

MODULES_TO_COPY += $(filter-out Android.mk, $(notdir $(wildcard $(LOCAL_PATH)/*)))

$(call make_dir, $(DIR))
$(call copy_to_out, $(MODULES_TO_COPY))

prebuilts/launcherTV/Android.mk

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

FILES=$(notdir $(wildcard $(LOCAL_PATH)/*.apk))
#choose single apk of this direction
LOCAL_SRC_FILES         := $(lastword $(FILES))
LOCAL_MODULE            := $(basename $(LOCAL_SRC_FILES))
LOCAL_MODULE_PATH       := $(TARGET_OUT_APPS)
LOCAL_MODULE_CLASS      := APPS
LOCAL_MODULE_TAGS       := optional
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
#testkey | shared | media | platform | PRESIGNED
LOCAL_CERTIFICATE       := platform
#LOCAL_OVERRIDES_PACKAGES := Home Launcher2 Launcher3 Launcher3QuickStep
include $(BUILD_PREBUILT)

其他

device/[platform]/[product]/product_package.mk 里面PRODUCT_PACKAGES宏需要加入APK的模块名(同 LOCAL_MODULE)。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值