JNI入门 NDK开发流程

JNI(Java Native Interface) 

使用场景

1:操作硬件(编写驱动,用java代码调用底层的c代码)

车载电脑 obd模块,on board debug

2:效率要求非常高

图形的计算,极品飞车

3:复用

7zip 开源的压缩算法;  webkit  浏览器解析框架;  opengl  图形处理的框架;  opencore 多媒体播放框架;  ffmpeg  视频播放的开源项目 c/c++;  opencv  计算机图形识别的库,人脸识别,图形图像的处理。 c/c++

4:java代码反编译容易,不安全;c代码,反编译后读起来很困难,安全;手机网银支付模块


交叉编译原由

1:操作系统(windows, linux,mac os)

2:处理器结构(x86  [amb/Intel],arm,mips[开源])

 执行
Windows.exe.dll.bat
Linux.elf.so.sh


NDK  Android native develop (官网上下载)

ndk-build.cmd 编译c代码



NDK流程

1.关联ndk


2.导入c


D:\adt-bundle\android-ndk-r9b\platforms\android-19\arch-arm\usr\include



3.创建jni


4.更改成c(默认c++,两者都可以)



5.java定义本地方法,C中实现

public native String helloFromC();


6.生成c头文件

java、c签名必须相同

方法一 javah工具

cd到 bin/classes 下  javah com.example.jnitest.MainActivity

JDK1.7或以上 error

错误: 无法访问android.app.Activity
      找不到android.app.Activity的类文件

解决:cd到  src上执行指令

讲.h文件拷贝到jni文件夹下



7.实现c方法(重点



8.调用


9.多处理器支持 ABI  Application binary interface


APP_ABI  := armeabi armeabi-v7a x86

或者

APP_ABI  := all


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值