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. Mac下发布Unity3d中Android平台下出现“android (invokation fai
  3. android错误分析集锦
  4. android开发文档中的一个小错误
  5. Android常见错误处理
  6. 丢失Android系统库或者Conversion to Dalvik format failed with
  7. Android MediaPlayer错误码整理
  8. Android “android.content.res.Resources$NotFoundException: S
  9. android 开发问题集,android问题总结,android错误解决收集

随机推荐

  1. [置顶] 在android 4.0 上面移植camera的
  2. 跟Google学写代码:Android运行时权限处理
  3. Android API Guides---App Manifest
  4. Android之Button按钮点击事件的四种方式
  5. Android 完美解决自定义preference与Acti
  6. Android中关于签名的一些知识
  7. mac zsh 配置 adb 环境变量 “zsh: comma
  8. Android(安卓)jni开发 eclipse 删除额外
  9. android新闻项目、饮食助手、下拉刷新、
  10. android 实现按两次back键提示退出应用界