Android系统模块不会在构建上产生输出

Android System Module does not generate output on build

本文关键字:输出 构建 系统 模块 Android      更新时间:2023-10-16

我在构建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文件夹中不产生输出。

奇怪的部分是我可以从项目root: make poweroffhandler中构建模块。那么我一点都没有问题,问题是我无法将build all脚本用于此模块(因此我无法进行自主集成)。

任何帮助将不胜感激,谢谢

我找到了答案,当您编写系统模块时:

  • 您需要注册Android.mk(例如,在顶级文件夹中说include $(call all-subdir-makefiles)
  • 您需要通过说PRODUCT_PACKAGES += poweroffhandler
  • 来注册模块(由LOCAL_MODULE:= poweroffhandler指定)向{root}/build/target/product/embedded.mk