Android系统模块不会在构建上产生输出
Android System Module does not generate output on build
我在构建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
相关文章:
- 通过杂注更改构建输出目录
- Qt <winInet.h> 在构建时输出许多 C4430 和 C2146 错误
- Codelite构建仅呈现最后一行的输出
- 构建 C/C++ 代码时的 Gradle 编译器输出
- 如何最好地为 Visual Studio 2017 构建的 CMake C++ 项目设置输出目录
- 复制C DLL以构建任何C#项目的输出,以扩展为参考
- QT make在构建时有很大的输出
- 无法在 cpp 文件中通过可视化标准输出构建 yuvlib 库函数
- Android系统模块不会在构建上产生输出
- 调整项目在Visual Studio的输出窗口中构建报告
- 使用Clang的UB消毒剂构建的程序的附加输出
- 将两个VS2010 C++项目构建到同一输出文件夹中
- 找不到openCV naclport构建输出
- qt音频输出示例未构建--缺少生成器类声明
- 为什么由指针和对象构建的局部变量显示不同的输出
- 配置 VS2010 以将C++项目构建到合理干净的输出目录
- 构建一个程序,将 10 个整数放入数组中并识别重复的数字并输出它们及其位置编号的位置
- 我如何告诉cmake在哪里输出构建数据?
- 是否可以在Android Studio中使用.so作为输出构建一个本地模块
- 我如何在QT项目的输出构建中包含json文件