博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android调用jni全过程,方便以后操作。
阅读量:6731 次
发布时间:2019-06-25

本文共 812 字,大约阅读时间需要 2 分钟。

个人记录下调用jni全过程,省的自己忘记了。哎。
有些需要准备的地方,ndk环境,ndk源码一份,cygwin要装好,配好profile。java要配好环境变量。
1.首先新建一个工程,建个类对调用native的方法进行声明。
package
 com.stay.jni;
public
 
class
 CallNative {
    
public
 CallNative() {
    }
    
static
 {
//
导入的lib名去掉前面的lib
        System.loadLibrary(
"
skytech
"
);
    }
    
public
 
native
 
byte
[] readCmd(String path);
    
public
 
native
 
int
 writeCmd(
byte
[] cmd, String path);
}

2.build下项目,打开cmd,cd到该工程bin目录下,

D:\>cd D:\android\rayn\TestJni\bin

D:\android\rayn\TestJni\bin>javah -jni com.stay.jni.CallNative

然后在bin目录下会出现一个.h文件这是声明的头文件

3.我们要的是里面声明的方法,把我们要写的c文件改成相同的方法名就可以了。(我做了一件非常挫的事,把实现写到.h文件里了,一直拿.h文件去编译。。= =)

4.在工程里建个jni目录,将改好的c文件和mk文件(随便copy一个,改下路径和lib名就好啦)copy进去

5.将整个工程拷贝到ndk的samples目录里(D:\android-ndk-r5\samples)

6.打开cygwin、配好环境。打开cygwin.bat。进行编译。万事ok。这样就可以成功调用jni了。

 

  

 

 

转载于:https://www.cnblogs.com/stay/archive/2011/08/28/2155385.html

你可能感兴趣的文章
Class文件与Dex文件
查看>>
【转】再有人问你Java内存模型是什么,就把这篇文章发给他。
查看>>
linux 1.学习资料2.面试题3.知识点
查看>>
如何在生产环境中通过Restful API的方式请求重启Spring Boot应用?
查看>>
Android开发之浮动Activity
查看>>
开源API测试工具 Hitchhiker v0.7更新 - Schedule的对比diff
查看>>
你不知道的 &&
查看>>
少侠请重新来过 - Vue学习笔记(一) - Vue是什么
查看>>
操作系统-linux-命令
查看>>
【LBTC区块链进阶】分叉币的正确打开方式
查看>>
从BAT到BATH 中国云计算世界杯大幕刚启
查看>>
H5 Echarts可视化图表的使用
查看>>
app加急上架地址
查看>>
JS异步编程的几种方式
查看>>
typeof-jsonc 将 JSONC/JSON 转换为 TypeScript 声明
查看>>
《Java 8 in Action》Chapter 5:使用流
查看>>
Python 内存管理
查看>>
(二)java版电子商务spring cloud分布式微服务b2b2c社交电商-服务消费者(rest+ribbon)...
查看>>
Android使用Jenkins自动化构建测试打包apk
查看>>
动态修改日志级别
查看>>