本文转载自:

版权声明:本文为博主原创文章,转载时请注明原作者及出处。    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",
]

【定制Android系统】Android O 在ROM中添加自己的 so 库(1)——Android.mk 与 Android.bp 的区别【转】的更多相关文章

  1. 87.在ModelSim中添加Xilinx ISE仿真库

    在ModelSim中添加Xilinx ISE仿真库 说明: l ModelSim一定要安装在不带空格的目录下,即不要安装在“Program Files”目录下.如作者是安装在D:\softwares\ ...

  2. [转]Android使用WebView从相册/拍照中添加图片

    原地址:http://blog.csdn.net/djcken/article/details/46379929 解决这个问题花了很长时间搜索了解,网上大部分使用openFileChooser但都没解 ...

  3. VC中添加头文件以及库

    原文:http://blog.csdn.net/lwb102063/article/details/52068389   附加头文件包含 VC6.0中: VC6.0默认include包含路径:Tool ...

  4. Android系统移植与调试之------->如何添加一个adb wifi无线调试的功能【开发者选项】-【Wifi调试】

    首先弄懂怎么设置adb wifi无线调试的功能,如下所示. 1. 手机端开启adb tcp连接端口 :/$setprop service.adb.tcp.port :/$stop adbd :/$st ...

  5. 【Android】在build/envsetup.sh中添加自己的命令(函数)

    由于测试的需要,经常需要手动刷入boot.img和system.img,把它写到envsetup.sh就可以每次使用一行命令来代替了: function flashtestimage(){ if [[ ...

  6. iOS 中添加lib型target库的依赖问题

    今天在编码时遇到一个问题,总提示我找不到系统库文件. 我的项目结构类似下图 在TestLib中有引用CoreLocation库的类.但是CoreLocation库需要加在PhotoInfoDemo对象 ...

  7. CMakeList.txt/Clion中添加头文件和库

    cmake_minimum_required(VERSION 3.6) project(capi_lua) include_directories(/usr/include) find_library ...

  8. Visual Studio 项目中添加include, lib, dll库文件(*.h,*.lib,*.dll)

    应用程序使用外部库时需要进行加载,两种库的加载本质上都是一样:提供功能和功能的定义.vs2005 c++ 项目设置外部库方法如下: 1. 添加编译所需要(依赖)的 lib 文件     在“项目-&g ...

  9. 在Qt Creator的项目中添加头文件和库

    在Qt Creator中的工程中,工程通过.pro文件管理. 额外需要连接的连接库unix:LIBS += -L your_lib_path -lyour_libwin32:LIBS += your_ ...

随机推荐

  1. python number

    一.number类型转换 int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real ...

  2. flask orm

    #查询        #查第一行    session.query(User.id,User.userName,User.password).first()        #查所有行    sessi ...

  3. java 控制台输入

    import java . util . Scanner ; public class Test { public static void main(String[] args) { Scanner ...

  4. 16. 3Sum Closest(双指针)

    Given an array nums of n integers and an integer target, find three integers in nums such that the s ...

  5. Java基础(basis)-----关键字break、continue、return的区别

       1.break      break只能用于switch语句和循环语句中,跳出当前循环:但是如果是嵌套循环, 则只能跳出当前的这一层循环,只有逐层break才能跳出所有循环 for (int i ...

  6. 激活win10

    网盘地址 http://pan.baidu.com/s/1nvc5I1V 里面是2个东西,一个是rar解压缩软件,一个是激活工具本体 一个解压缩软件,一个激活工具的压缩包 安装解压软件,就是WINRA ...

  7. Linux基础命令---查找进程id

    pidof pidof可以查找指定名称的进程的pid,将结果送到标准输出.pidof有两种返回值:0,找到至少一个进程:1,没有找到进程.pidof实际上与killall5相同:程序根据调用它的名称进 ...

  8. kibana添加ES索引403错误解决

    kibana添加ES索引时发现kibana添加索引不生效,没有创建成功只是一闪而过 查看控制台发现报错403 解决办法: curl -XPUT -H "Content-Type: appli ...

  9. linux 查找locate find

    1.locate locate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在 执行loacte时直接找该索引,查询速度会较快 ...

  10. Spring MVC 编程流程步骤

    Spring MVC 编程流程步骤 1. 建立Maven工程 2. 添加Spring MVC依赖 <dependencies> <dependency> <groupId ...