android c语言编译生成文件路径,android studio中把c/c++文件编译成.so库(二)

本文介绍了如何在Android Studio中使用CMake将C/C++文件编译为.so库,包括安装JNI环境、创建支持C++的项目、编辑CMakeLists.txt文件、配置gradle文件、加载原生库,并展示了完整步骤和关键脚本。
摘要由CSDN通过智能技术生成

最近的项目涉及到JNI编程,经过一段时间的JNI编程之后,终于完美弄完了。所以,把在android studio中编译c/c++文件成.so库的过程记录一下。

在Android studio中使用cmake编译 .so库

1. 安装JNI(java Native Interface)的开发环境。

(1)NDK(Native Development kit):NDK是一个工具集,允许你的App使用一些底层语言代码,例如C和C++。

(2)CMake:CMake是一个跨平台的编译工具,可以用简单的语句来描述所有平台的编译过程,它能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。(谷歌从AndroidStudio2.2以上就添加了Cmake方式来编译NDK代码)

(3)LLDB:支持断点调试c/c++源码。

f25f27789334413a19d43fdc92468426.png

2. 在Android studio中,创建一个支持c/c++的project。

勾选上那个支持c++的选项:

bacfe1c1629a736a7ea91a62e5c219fa.png

3. project创建成功之后,会出现cmakelists.txt文件,文件中包含的指令:

(1)cmake的最低版本要求:

cmake_minimum_required(VERSION 3.4.1)

(2)使用 add_library() 的 CMake指令构建脚本添加源文件或库,为了确保 CMake 可以在编译时定位您的标头文件,您需要将 include_directories() 命令添加到 CMake 构建脚本中并指定标头的路径:

demo脚本:

add_library( # Sets the name of the library.

my-native-lib #library的名称

# Sets the library as a shared library.

SHARED

# Provides a relative path to your source file(s).

src/main/cpp/native-lib.cpp

src/main/cpp/hello.cpp )

# Specifies a path to native header files.

include_directories(src/main/cpp/include/)

(3)使用find_library添加 NDK库

Android NDK 提供了一套实用的原生 API 和库。通过将 NDK库包含到项目的 CMakeLists.txt 脚本文件中,您可以使用这些 API 中的任意一种。预构建的 NDK 库已经存在于 Android 平台上,因此,您无需再构建或将其封装到 APK 中。由于 NDK 库已经是 CMake 搜索路径的一部分࿰

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值