Android Native 开发 要点记录

本文详细介绍了在AndroidStudio中使用C++进行项目开发,包括CMakeLists.txt配置、jniLibs库链接、find_library搜索库、CMake编译选项、JNI函数注册(静态与动态)等内容,适合C++开发者进行学习和实践。
摘要由CSDN通过智能技术生成

Android Studio 中写 C++ 代码

android studio创建C++项目_android studio native c++-CSDN博客 项目配置参考

【CMake】CMakeLists.txt的超傻瓜手把手教程(附实例源码)_【cmake】cmakelists.txt的超傻瓜手把手教程(附实例源码)-CSDN博客 CMakeLists.txt 讲解

补充:

1. target_link_libraries 链接操作

target_link_libraries 链接 jniLibs 中的库文件,jniLibs 文件夹位置如图所示,里面可以把需要的架构库进行添加

2. find_library 搜索指定的库文件,并将其链接到目标文件中,示例如下

3. so 库体积优化NDK五部宝典(五)NDK 开发以及 so 库体积优化总结与学习笔记(深度干货,值得收藏) - 掘金

4. build.gradle 配置 CMakeLists.txt 路径

5. build.gradle 配置 Cmake 编译选项

上述示例主要包括以下内容:

  • cppFlags:设置C++编译选项,这里指定使用C++11标准,并将符号隐藏。
  • cFlags:设置C编译选项,这里也将符号隐藏。
  • abiFilters:指定要构建的CPU架构,这里仅构建armeabi-v7a架构,如果extendAbiFilters为true,则额外构建x86、arm64-v8a和x86_64架构。
  • arguments:设置CMake的参数,这里指定使用的STL库为项目中配置的androidSTL变量。

6. JNI Native 函数的注册方式

静态注册:是指在编写Java代码时,就已经将Java方法与C/C++函数进行了绑定,即在Java代码中声明native方法时,就已经指定了对应的C/C++函数。

静态注册的优点是简单易用,缺点是不够灵活,只能在编写Java代码时进行绑定,无法动态添加或删除函数。

动态注册:是指在运行时通过JNI函数库动态地将Java方法和C/C++函数进行绑定。

动态注册的优点是灵活性高,可以在运行时动态地添加或删除函数,缺点是比较繁琐,需要在 C/C++ 代码中使用 RegisterNatives 编写注册函数,并在 Java 代码中调用注册函数进行函数的注册。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值