Android 复用 .so 库:通过 jniLibs 集成预编译二进制库(获取 Page Size )

上一篇是源码编译(CMake + C++ 文件,每次构建自动重新编译), 这一篇是预编译库集成(直接拿到现成的 .so 文件,通过 jniLibs 目录打包进 APK)。

上一个demo工程编译后生成的so包的目录:

执行 执行 nm -D libpage_size_jni.so | grep Java ,查看native方法的包名、类名、方法名:

新项目中也新建这个package,在这个包中创建同样的这个类,方法名也必须一致:

再在main目录中新建jniLibs文件夹:

再在jniLibs下,根据cpu架构(ABI)创建架构子目录:

把上一个demo编译好的so包拷贝进对应的目录。即这俩个so包:

拷贝完:

代码中调用:

运行测试下:

ok. 获得了当前设备的页大小(4096 或 16384),这种方式不需要写 C++ 源码或 CMake 配置。

相关推荐
天空之城--2 小时前
Android Koin 完全指南:从原理到实践
android
zhangphil3 小时前
Android main thread主线程Choreographer doFrame发生FullSuspendCheck
android
TimeFine7 小时前
智能眼镜开发:获取真实的音频路由
android
pengyu7 小时前
【Kotlin 协程修仙录 · 渡劫境 · 中阶】 | 造化神兵:自定义 CoroutineDispatcher 与调度器的终极定制
android·kotlin
pengyu8 小时前
【Kotlin 协程修仙录 · 渡劫境 · 初阶】 | 飞升雷劫:CPS 变换与挂起函数字节码终极透视
android·kotlin
TimeFine8 小时前
智能眼镜开发:眼镜Touch后收音与触发播放系统音乐的矛盾处理
android
TimeFine8 小时前
智能眼镜开发:眼镜侧收集音频
android
又见情义9 小时前
Android 系统设置从平板版迁移至TV版实践
android
杉氧12 小时前
打破边界(一):实战编写 Android/iOS 原生模块 (Native Modules)
android·react native·前端框架