Chinaunix首页 | 论坛 | 博客
  • 博客访问: 936977
  • 博文数量: 192
  • 博客积分: 3070
  • 博客等级: 中校
  • 技术积分: 1861
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-27 23:44
个人简介

Start Linux Leave Linux a while Back to Linux

文章分类

全部博文(192)

文章存档

2023年(18)

2022年(11)

2021年(8)

2020年(14)

2019年(7)

2018年(13)

2017年(16)

2016年(4)

2012年(2)

2011年(13)

2010年(26)

2009年(13)

2008年(27)

2007年(20)

我的朋友

分类: LINUX

2011-06-27 11:14:39

第二个JNI程式, 读写filesystem 中的文件。
 
还是采用4层的结构:
1. Application
2.    Framework(Java)
3.       JNI(C/C++)
4.           Stub(C/C++)
 
 
先构思 Framework层需要用到的函数,函数的参数,返回值(Java),根据定义的 native 函数生成 .h 文件。
 
cat xx.java
 
public final class xxromservice
{
 
   ...
 
   //app_write_xx is for application called
   public String app_write_xx(int item, String buf, int size)
   {
      ...
      write_xx(item, buf, size);
   }
 
   //app_read_xx is for application called
   public String app_read_xx(int item, String buf, int size)
   {
      ...
      read_xx(item, buf, size);
   }
 
 
   /* declare all of the native interface */
   private static native int write_xx(int item, String buf, int size);
   private static native String read_xx(int item, String buf, int size);
}
 
然后使用 javah 根据 .java 文件生成对应的 .h 文件。
 
javac -classpath android-sdk-linux_86/platforms/android-8/android.jar com/exxx/xx.java
javah  com/exxx/xx
 
之后就会生成com_exxx_xx.h 的头文件了。这个 .h 文件就是给 jni 层的c 文件使用的。
同样,做 jar 包则用以下命令:
jar cvf xxromservice.jar com/
这样就可以生成 jar 文件了。在 eclipse 导入进来就可以了。
 
 
 
 
 
 
 
 
阅读(1420) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~