在命令行下用cmake交叉编译可在android中运行的so包

在命令行下用CMake交叉编译可在android中运行的so包

最近在写一个通过录屏生成gif的小应用,由于要用到NDK,所以开始去解这方面的知识,总的来讲也还算简单,不过对于之前从没接触过ndk的小白来说,一切都是需要摸索的,在一个不熟悉的领域有时候一个微小的问题也能让你摸个半天才能搞明白。我写博客的大部分原因就是为了记录下这些摸索的过程,以后要是忘记了还可以翻出来看,当然,要是还能帮到其他跟我一样的小白那就更好了。

下面进入正题,对于陌生的东西,当然是先google一翻了,随后发现Android Studio已经帮我们做了很多工作了,我们只需要做些简单的配置就可以做NDK开发了。大致有以下几步(具体的细节这里不讲):

  • 1、下载好NDK、CMake
  • 2、新建一个android工程
  • 3、在build.gradle文件中配置c文件相关的路径以及CMakelists.txt路径等等
  • 4、创建一个带native方法的java类
  • 5、再编写一个与上述类对应的c文件
  • 6、编写CMakeLists.txt文件

然后跑起来就差不多了,流程基本上就这样了,剩下的就是业务上的事了。

不过对于小白来说,照着教程做了一遍,工程跑起来了,预期结果也达到了,但还是一脸懵懂,不知道来龙去脉。用Android Studio的好处是高度智能化,开发者借助它可以快速地完成一些与业务无关的事,但也有一点我个人不喜欢,那就是不知道它到底做了些什么,像个黑盒子,只看到结果,看不到过程。所以几乎从一开始我就很想知道如果不依赖android studio 怎么才能把我要的so包编译出来呢?就好比不需要eclipse,直接在命令行下编译运行java程序一样。不得不说,为了搞明白这点事,我摸了很久,并且曾暂停了一段时间。下面就来说一下不用android studio怎么编译so包,说出来之后会觉得很简单,但没搞清楚之前却是让我非常抓狂。

在命令行下执行交叉编译有两种方式

  • 一是用ND
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值