【Android】Android.bp 实例之源码编译动态库
背景说明
首先需要下载对应的版本的Android源代码(ASOP) 如何下载Android源码
在下载完ASOP后,需要搭建Android的编译环境. 那在Android下如何进行源码代码的编译呢? 请参考官网链接: Android build system usage - 如何进行Android源码的构建
补充说明:
这里没有补充Android源码下载和构建的详细步骤,如有问题请及时留言沟通.
基于ASOP中的external/libcups这一Android下的library进行简单演示
首先可以看下libcups的文件构成,
t@ubuntu:~/ASOP$ ls external/libcups/
Android.bp config.h cups/ filter/ .git/ libcups_version LICENSE.txt MODULE_LICENSE_LGPL NOTICE update_libcups.sh
如上所示,libcups是基于Android.bp 进行构建的. 类似于基于CMake进行构建时依赖的CMakelists.txt, 关于Android.bp 请看之前的文章链接: 【Android】Android.bp 初探
在编译libcups前需要确认下基于Soong的构建环境是否能够正常工作:
t@ubuntu:~/ASOP$ lunch
aosp_arm64-eng ....
如上所示,运行lunch命令是否成功执行.
然后运行make命令进行指定模块libcups的编译
make libcups
...
[ 90% 9/10] glob system/bt/btcore/include
[ 7% 150/2025] Check module type: out/target/product/xxx/obj/SHARED_LIBRARIES/libGLESv1_CM.ndk.18_intermediates/link_type
[100% 2025/2025] build out/target/product/xxx/obj/SHARED_LIBRARIES/libcups_intermediates/libcups.so.toc
编译成功后,会在out/target/product/xxx/system/lib/下生成so库libcups.so
补充说明:
这里make命令的目标libcups是怎么得来的??
这是基于libcups源码下的Android.bp中如下cc_library_shared中的name字段决定的
cc_library_shared {name: "libcups",
【Android】Android.bp 实例之源码编译动态库相关推荐
- 【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )
文章目录 I . 源码编译配置 II . 构建脚本配置 III . NDK 函数库打包配置 IV . Java 与 C 代码示例 V . CMake 配置 ( CMakeLists.txt ) VI ...
- python源码编译为库_【Python笔记】如何源码编译依赖LAPACK和ATLAS库的NumPy包
上篇笔记介绍了不依赖lapack和atlas库的NumPy包源码编译/安装方法,但"纯净版"的NumPy会损失性能,故本篇笔记说明如何源码编译安装依赖lapack和atlas库的N ...
- ubuntu16.04源码编译linphone库的过程
linphone源码下载链接:https://gitlab.linphone.org/BC/public/liblinphone linphone 依赖 belcard belcard 依赖 belr ...
- Android 4.1 (Jelly Bean) 源码编译过程总结
昨天google官方发布了Android 4.1 Jelly Bean的源码,本人第一时间将源码托了下来(托了一个通宵),今天又花了一早上时间编译ROM并刷到自己的Galaxy Nexus中,虽说An ...
- 国产系统 统信UOS20 飞腾CPU QT Creator4.14 源码编译
国产系统 统信UOS20 飞腾CPU QT Creator4.14 源码编译 系统信息 安装qt5.14 手动编译参考[详细参考另外一篇qt5.14编译] 也可以直接下载已经编译了的[国产系统 统信 ...
- Android高版本P/Q/R源码编译指南
Android高版本P/Q/R源码编译指南 Android源码编译系列博客: Android.bp你真的了解吗 Android.bp入门指南之Android.mk转换成Android.b ...
- Android 源码编译及真机刷机实录
最近接到一个项目,需要接触 Android 源码,所以走了一遍源码编译和刷机的过程,从开始到成功花了差不多一周的时间,踩了很多坑,在此记录一下. 整体分为四个部分: 文章目录 1.环境配置 1.1 创 ...
- ubuntu 14.04.5 编译Android 4.4.4 r1源码(最新)
本文博客链接:http://blog.csdn.net/qq1084283172/article/details/54426189 吐槽:ubuntu系统真是让人又爱又恨,也有可能是VMware Wo ...
- Android 源码编译及常见错误及解决方法
Android 源码编译及常见错误及解决方法 参考文章: (1)Android 源码编译及常见错误及解决方法 (2)https://www.cnblogs.com/kyyblabla/p/360393 ...
最新文章
- 【转载】split / break polylines at point intersections
- 统计学习:协方差和相关性
- 小车故障灯亮显示大全_史上最全汽车故障灯大全,留着一定有用!
- 【分享-免费下载】免费下载配乐/视频/平面设计/游戏素材
- python 部署模型,关于python:机器学习模型python在线服务部署的两种实例
- 覆盖电商、推荐、ETL、风控等多场景,网易的实时计算平台做了啥?
- Atitit btree 搜索原理 目录 第一节 左边小右边大 的有序树	1 第二节 平衡算法	1 第三节 层次高度一般3--4层	3 第四节 类似索引	3 第二章 Ref	5 第一节 左边小右
- intel 傲腾内存与SSD HDD的对比
- 华为全球发布UMTS终端商用新品
- python爬腾讯视频地址_腾讯视频爬虫
- 运维向运营转型,会是企业IT传统运维的发展方向吗?
- php 微信公众号超链接,微信公众帐号开发教程第8篇-文本消息中使用网页超链接_PHP教程...
- 瑞士央行干预汇市以遏制瑞士法郎上涨
- .Net Entity Framework Core 设置浮点数精度
- 转行学Java怎么样?Java培训机构有什么避雷的要点?
- Vue基础-vue指令
- mac framework
- 经典龙格-库塔法(四阶龙格-库塔法)求解求一阶常微分方程相应的特解的Python程序
- 有效沟通bic法则_猎头支招:工作中有效沟通的法则
- PDF Squeezer for Mac(强大的PDF文件压缩工具)