2011.11.22——— android jni简单用法
参考:http://www.eoeandroid.com/thread-114412-1-1.html
http://www.androidzz.com/2011/08/android-jni/
http://my.unix-center.net/~Simon_fu/?p=833
http://topic.csdn.net/u/20110711/09/7b2bb12b-be4b-4eed-b995-7c0b6d2ea068.html

首先 先说一下 我遇到的问题

1、System.loadLibrary的参数
沿袭Linux传统,lib<something>.so是类库文件名称的格式,但在Java的System.loadLibrary(“ something ”)方法中指定库名称时,不能包括 前缀—— lib,以及后缀——.so

比如说 你的so文件名字为libhello.so

这时 你应该写
System.loadLibrary(hello);


2、javah命令问题
刚开始 我是这样的
C:\Program Files\Java\jdk1.6.0_20\bin>javah E:\workspace\TestJNI\src\com\lp\jni\FirstJNI

我是指向了java文件 就报错 如下
javadoc: 错误 - 非法的软件包名称:"E:\workspace\TestJNI\src\com\lp\jni\FirstJNI"


然后 我指向class文件

C:\Program Files\Java\jdk1.6.0_20\bin>javah E:\workspace\TestJNI\bin\classes\com\lp\jni\FirstJNI

错误依然
javadoc: 错误 - 非法的软件包名称:"E:\workspace\TestJNI\bin\classes\com\lp\jni\FirstJNI"


后来 查了 说不能直接指向文件 而应该知道bin根目录 带包命运行
C:\Program Files\Java\jdk1.6.0_20\bin>javah E:\workspace\TestJNI\bin\classes\ com.lp.jni.FirstJNI

错误仍然存在
javadoc: 错误 - 非法的软件包名称:"E:\workspace\TestJNI\bin\classes\"


咳,然后 需要加上-classpath参数 才可以
如下
C:\Program Files\Java\jdk1.6.0_20\bin>javah -classpath E:\workspace\TestJNI\bin\classes\ com.lp.jni.FirstJNI


这下 终于大功告成了 呵呵



更多相关文章

  1. Android(安卓)获取包名,版本信息
  2. 2011.11.22——— android jni简单用法
  3. Android(安卓)记录一个智障错误
  4. Android中attrs.xml文件的使用详解
  5. Mac下发布Unity3d中Android平台下出现“android (invokation fai
  6. android错误分析集锦
  7. android 量产软件改动信息(持续更新)
  8. android开发文档中的一个小错误
  9. Android常见错误处理

随机推荐

  1. 开始使用Android Sutdio(三)创建一个Hello
  2. Android 用axis2 webService产生java.lan
  3. ADT在线安装
  4. android message机制
  5. [Android] SQLite的使用入门
  6. Android Review
  7. 如何POST一个JSON格式的数据给Restful服
  8. android:onTouch()和onTouchEvent()的区
  9. Android 复制文本
  10. Android(手机)连接电脑本地服务器(flask)