android---JNI基本工作步骤

JNI 基本工作流程


1. 在java代码中声明一个native的方法.
2. 用javah命令生成 native方法对应的头文件.javah命令需要注意包名和class 所在的目录
3. 在工程中创建一个jni目录,把头文件 拷贝jni目录
4. 创建Android.mk文件.
5. 实现头文件里面未实现的方法.
6. 在工程目录下  使用ndk-build 命令生成库文件. 生成的这个库文件如果是静态库是一个.a的文件.
.a文件的文件需要拷贝到平台下E:\android-ndk-cpp\build\platforms\android-8\arch-arm\usr\lib
如果是动态库是一个.so的文件. 我们的adt 会通过aapt  把文件打包到apk里面 . 程序在android里面. so文件就在data/data/包名下/lib
注意: eclipse 会缓存文件,所以重新编译库文件的时候需要把工程给clean一下.
生成一个方法的签名需要调用 javap -s 这个命令

Java类型 本地类型 描述
boolean jboolean C/C++8位整型
byte jbyte C/C++带符号的8位整型
char jchar C/C++无符号的16位整型
short jshort C/C++带符号的16位整型
int jint C/C++带符号的32位整型
long jlong C/C++带符号的64位整型e
float jfloat C/C++32位浮点型
double jdouble C/C++64位浮点型
Object jobject 任何Java对象,或者没有对应java类型的对象
Class jclass Class对象
String jstring 字符串对象
Object[] jobjectArray 任何对象的数组
boolean[] jbooleanArray 布尔型数组
byte[] jbyteArray 比特型数组
char[] jcharArray 字符型数组
short[] jshortArray 短整型数组
int[] jintArray 整型数组
long[] jlongArray 长整型数组
float[] jfloatArray 浮点型数组
double[] jdoubleArray 双浮点型数组

※ JNI类型映射



函数 Java数组类型 本地类型
GetBooleanArrayElements jbooleanArray jboolean
GetByteArrayElements jbyteArray jbyte
GetCharArrayElements jcharArray jchar
GetShortArrayElements jshortArray jshort
GetIntArrayElements jintArray jint
GetLongArrayElements jlongArray jlong
GetFloatArrayElements jfloatArray jfloat
GetDoubleArrayElements jdoubleArray jdouble

JNI数组存取函数


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值