Andriod 如何添加自定义C++库

本文介绍了在Android中添加自定义C++库的两种模式:底层添加和应用层添加。底层添加涉及修改Android.mk文件,调整预链接映射,并重新编译。应用层添加则需要在lib目录下放置so库,Java代码使用System.load加载库,并在打包APK时包含lib目录。此外,还简单分析了APK安装过程和adb命令的工作原理。
摘要由CSDN通过智能技术生成

1.   底层添加模式,即要在编译出的sdk包含要添加的c++

目前使用复制模式,把Webkit目录复制一份,取名为Tunnel,在其目录下,分别修改Javascripecorewebcore下的Android.mk

l  修改LOCAL_MODULE变量,这个变量的作用是为一个库取一个独立的名字,在编译过程中脚本会判断会不会有重复的库,所以修改一下,分别修改为libtunnelwebcorelibtunnelkjs,这样就和原有的库不会有名字冲突。

l  修改LOCAL_COPY_HEADERS_TO变量,这个变量用于脚本COPY库中的头文件的时候用的,修改一下名字,脚本会在out/target/product/generc/obj/include/目录下建立一个“名字”的目录,把指定的头文件Copy进去。

l  修改webcore中的LOCAL_STATIC_LIBRARIES变量,此变量用户指定需要包含的静态库,这里改成前面的lib tunnelkjs

l  动态库需要指定Map信息,需要修改build/core/prelink-linux-arm.map中的信息。

这个map文件好像是制定动态库的地址的,在前面注释上面有一些地址范围的信息,注意库与库之间的间隔数,如果指定不好的话编译的时候会提示说地址空间冲突的问题。另外,注意排序,这里要把数大的放到前面去,按照大小降序排序。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值