安卓下C/C++开发终结版(移植开源库,Linux交叉编译android动态库,引用第三方库)

本文探讨了如何将现有的Linux SDK移植到Android平台,通过利用NDK独立工具链简化跨平台开发工作,并以OpenSSL为例介绍具体操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    知其然也要知其所以然,本文纯属务虚,后面将专门开两篇总结具体的操作。

    在研发PAAS 微服务架构时,需要给移动终端写一个SDK,供开发者使用该SDK访问云服务。

    由于安卓主推java开发,如果写一套java的SDK,不仅费时费事,而且后面还得写苹果手机的SDK,这样不仅开发工作量超大,而且后面多平台SDK维护也是非常头疼的事情。由于在linux下已经有一套SDK,如果能将这套SDK移植到安卓下,可以省下大量的工作量,于是进行了可行性分析:

    首先,很多开源软件比如ffmpeg, openssl等这些开源软件,安卓里面总有人用的上吧,另外一些游戏引擎,应该也是C++开发的,于是肯定应该有办法搞定,并且我的SDK中需要用到的开源项目也不多,目前就OPENSSL一个开源项目需要移植,应该是可以搞定。

    虽说安卓也是linux内核,但是直接将centos等linux的库直接给安卓用肯定不行,因为安装为arm架构,而linux是X86架构,编译器GCC是X86架构编译器,因此首先得搞定编译器。我们在linux用GCC编译出来的库依赖的是glibc,而android下用的是Bionic Libc,如果我们的编译脚本不想做太大改动的话,就需要一套android版的glibc,经过百度后发现google的NDK还真提供一套这样的工具,叫做独立工具链(standalone-toolchain),有了这个东西,我的linux的编译脚本都基本不需要修改了。

    分析到这,就开始我的征程,本人虽然搞C++有着十几年的经验,但是安卓开发还是一个小白,就连开发环境都没有搭建过,在这过程中遇到很多的坑。经过一周的艰苦奋斗,还有些问题没有彻底搞定,目前只能使用规避的办法规避过去。

   好了,废话不多说,请看后面两篇干货。

使用NDK独立工具链移植开源项目到andriod中(以openssl为例)

android studio中使用第三方so库(终结版)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值