Android JNI 模板与读取系统属性笔记
一、编写目的
本文主要提供一个简单可用的 jni 模板,便于在 APK 中编写 native 代码。通过记录,希望能对 jni 学习有一个更深的认识。
二、APP 中的 jni 模板
1、jni 文件在项目中的截图
2、详细步骤
1)、在 src/main/ 层,创建 jni 目录用于存放,native 代码
2)、增加 Android.mk
复制代码
3)、增加 Application.mk
复制代码
4)、增加 nativeXXXX.c
复制代码
5)、增加 nativeXXXX.h
复制代码
6)、在 JAVA 层增加 native 接口类
复制代码
3、添加 NDK 编译工具,AndroidStudio 中添加 外部编译命令 的方法
在 Settings > Tools > External Tools 中添加命令行工具(NDK)如下: ndk-build、ndk build clean、javah
如果顺利完成以上步骤,就可以在工程任意位置 右键->NDK->ndk-build 编译生成 so 库了
三、在 JNI 读取系统属性方法
用 objdump 看了一下 libc.so ,找到了其中的函数。如下:
复制代码
头文件是 system_properties.h ,在 usr/include/sys 目录下面。
_systemproperty_get 可以用来获取一个属性值,函数原型如下:
复制代码
读写 ro.build.id 的方法
复制代码
四、在 JAVA 中读取系统属性方法
复制代码
五、把编译生成的 so 库打包到 apk 里面去
复制代码
六、以上是 APP 添加 jni 代码的全部记录,注意下包名,一般可以启动运行正常。另外,借助 Android Studio 开发工具提供很便利的创建工程的入口,可以快速的开展 jni 开发。^-^
版权声明: 本文为 InfoQ 作者【Changing Lin】的原创文章。
原文链接:【http://xie.infoq.cn/article/8643c92a6f0beb310d91b08f5】。文章转载请联系作者。
评论