本文转载自:
版权声明:本文为博主原创文章,转载时请注明原作者及出处。 https://blog.csdn.net/u014248312/article/details/82020204
需求:在 Android 源码中添加一个模块,重新封装接口给应用软件或SDK调用。
提示:其实该问题需要在合适的源码位置,当然最好是 vendor 目录下,使用 android 的 overlay 机制替换到合适的位置。当然,如果不太正规的开发,或者迫于时间的开发。直接在源码中合适的位置创建目录和编译文件也是能达到目的的。
Android.mk 的编译目录下
Android.mk 应该都不陌生。一般来说,大模块的根目录下的 Android.mk 中总有一句 include $(call all-subdir-makefiles)。来保证该目录下所有子目录里的 Android.mk 文件都能被引用到。
因此,如果是在这种目录下,则确认一下该目录的 Android.mk 有这条 include 语句,之后即可在该目录下创建自己的模块文件夹,然后再文件夹里编写自己的模块的 Android.mk 即可。
Android.bp 的编译目录下
自 Android 5.0 ? 开始,Android 推出了 .bp 文件,其中,bp 是 blueprint 的缩写。以 Android 8.1.0_r33 的 frameworks/av/Android.bp 为例,新的 .bp 文件在根目录里只是记录了几个 subdirs
subdirs = [
"camera",
"drm/*",
"media/*",
"soundtrigger",
]