Mac上Android开发集成C++项目踩坑记录
开发环境情况
- Mac OS:Big Sur(11.1)
- Java Version: 16
- Android studio:4.1.3
- 安装NDK
- 安装CMake
背景情况
- 由于是半途接入19年同事留下的在Android环境中的C++工程,需要了解通过CMake进行静态库、动态库编译知识,以及Android项目中如何采用JNI(Java Native Interface)进行源码调试,加载SO库流程。
集成调试过程
- 采用CMake整合C++多个项目,将多个项目分别打包成静态库(主要包括.a和头文件)并拷贝到Android工程统一目录管理;
- 根据统一管理目录情况,添加动态库配置,以便形成Android联调需要的SO库
-
坑
- Android机型CPU架构多,提供的.a库支持不足,需要补充多种架构的.a库,这里涉及到.a库多架构合并(可以采用lipo -info、 lipo -create处理)
- Android真机调试数据线必须要求支持数据传输(刚接触Android开发),很多Type-c数据线无法支持
- 【填坑】确保adb服务正常启动(4.2需要手动开启后才能找到真机)
- 【填坑】购买数据线时一定询问要支持真机调试