我在构建android源代码(Nougat)时遇到了问题。我有一个名为poweroffhandler
的系统模块,用C ++编写,并有Android.mk
文件如下。
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \
#src_files
LOCAL_SHARED_LIBRARIES := \
#libraries
LOCAL_MODULE:= poweroffhandler
include $(BUILD_EXECUTABLE)
当我添加文件$(error error_message)
时,它会崩溃(错误消息“error_message”)并停止整个构建。(因此模块包含在构建序列中)但是在构建序列之后它不会产生任何输出。
我已尝试创建与其关联的.rc
文件,如下所示。
添加了Android.mk
个文件 - >
LOCAL_INIT_RC := PowerOffHandler.rc
创建了一个名为PowerOffHandler.rc
service poweroffhandler /system/bin/poweroffhandler
class core
user graphics
group graphics audio
disabled
oneshot
当我创建.rc
文件时,它会在intermediates
文件夹中生成输出,但不会在system/bin
文件夹中生成。
奇怪的是,我可以用项目根目录make poweroffhandler
来构建模块。然后我没有任何问题,问题是我不能使用build all
脚本用于此模块(因此我无法进行自主集成)。
任何帮助将不胜感激,谢谢
答案 0 :(得分:0)
当你编写系统模块时,我找到了答案:
Android.mk
(例如在顶级文件夹中说include $(call all-subdir-makefiles)
)LOCAL_MODULE:= poweroffhandler
{root}/build/target/product/embedded.mk
指定)注册到PRODUCT_PACKAGES += poweroffhandler