【定制Android系统】Android O 在ROM中添加自己的 so 库(1)——Android.mk 与 Android.bp 的区别【转】
本文转载自:
版权声明:本文为博主原创文章,转载时请注明原作者及出处。 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 的区别【转】的更多相关文章
- 87.在ModelSim中添加Xilinx ISE仿真库
在ModelSim中添加Xilinx ISE仿真库 说明: l ModelSim一定要安装在不带空格的目录下,即不要安装在“Program Files”目录下.如作者是安装在D:\softwares\ ...
- [转]Android使用WebView从相册/拍照中添加图片
原地址:http://blog.csdn.net/djcken/article/details/46379929 解决这个问题花了很长时间搜索了解,网上大部分使用openFileChooser但都没解 ...
- VC中添加头文件以及库
原文:http://blog.csdn.net/lwb102063/article/details/52068389 附加头文件包含 VC6.0中: VC6.0默认include包含路径:Tool ...
- Android系统移植与调试之------->如何添加一个adb wifi无线调试的功能【开发者选项】-【Wifi调试】
首先弄懂怎么设置adb wifi无线调试的功能,如下所示. 1. 手机端开启adb tcp连接端口 :/$setprop service.adb.tcp.port :/$stop adbd :/$st ...
- 【Android】在build/envsetup.sh中添加自己的命令(函数)
由于测试的需要,经常需要手动刷入boot.img和system.img,把它写到envsetup.sh就可以每次使用一行命令来代替了: function flashtestimage(){ if [[ ...
- iOS 中添加lib型target库的依赖问题
今天在编码时遇到一个问题,总提示我找不到系统库文件. 我的项目结构类似下图 在TestLib中有引用CoreLocation库的类.但是CoreLocation库需要加在PhotoInfoDemo对象 ...
- CMakeList.txt/Clion中添加头文件和库
cmake_minimum_required(VERSION 3.6) project(capi_lua) include_directories(/usr/include) find_library ...
- Visual Studio 项目中添加include, lib, dll库文件(*.h,*.lib,*.dll)
应用程序使用外部库时需要进行加载,两种库的加载本质上都是一样:提供功能和功能的定义.vs2005 c++ 项目设置外部库方法如下: 1. 添加编译所需要(依赖)的 lib 文件 在“项目-&g ...
- 在Qt Creator的项目中添加头文件和库
在Qt Creator中的工程中,工程通过.pro文件管理. 额外需要连接的连接库unix:LIBS += -L your_lib_path -lyour_libwin32:LIBS += your_ ...
随机推荐
- selenium获取文本
# 标题list_title = driver.find_elements_by_xpath('//*[@id="share-content"]/div/div[1]/ul/li/ ...
- Mongodb $in $or 性能比较
MongoDB docs have the answer: "When using $or with <expressions> that are equality chec ...
- TP增删改
增加数据 <?php namespace Home\Controller; use Think\Controller; class IndexController extends Control ...
- maven 知识
1. maven 环境配置 Maven 3.3 要求 JDK 1.7 或以上 Maven 3.2 要求 JDK 1.6 或以上 Maven 3.0/3.1 要求 JDK 1.5 或以上 2. ...
- html5-微格式-时间的格式
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- 51ll网产品信息保存为txt文件
import requests from pyquery import PyQuery as pq url='http://www.51xxx.com/Try/index/p/3' headers={ ...
- canvas绘图,html5 k线图,股票行情图
canvas绘图,html5 k线图,股票行情图 canvas跟其他标签一样,也可以通过css来定义样式.但这里需要注意的是:canvas的默认宽高为300px * 150px,在css中为canva ...
- ptrace线程
在ptrace时使用waitpid(-1, &status, 0);无法正常trace 修改为waitpid(-1, &status, __WALL);即可 原因是:
- element ui里dialog关闭后清除验证条件
//vue <!--添加用户dialog begin--> <el-dialog title="编辑用户" :visible.sync="dialogF ...
- redis安装--转
第一部分:安装redis 希望将redis安装到此目录 1 /usr/local/redis 希望将安装包下载到此目录 1 /usr/local/src 那么安装过程指令如下: 1 2 3 4 5 6 ...