先写了一个java文件(HelloJNI.java):
package test;public class HelloJNI { private native String hello_jni();
public static void main(String[] args){
new HelloJNI().hello_jni();
}
}之后javac HelloJNI.java 在同级目录下得到HelloJNI.class
之后javah -jni HelloJNI 报错:error: cannot access HelloJNI
bad class file: ./HelloJNI.class
class file contains wrong class: test.HelloJNI
Please remove or make sure it appears in the correct subdirectory of the classpath.
com.sun.tools.javac.util.Abort
at com.sun.tools.javac.comp.Check.completionError(Check.java:180)
at com.sun.tools.javadoc.DocEnv.loadClass(DocEnv.java:167)
at com.sun.tools.javadoc.RootDocImpl.<init>(RootDocImpl.java:95)
at com.sun.tools.javadoc.JavadocTool.getRootDocImpl(JavadocTool.java:178)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:364)
at com.sun.tools.javadoc.Start.begin(Start.java:162)
at com.sun.tools.javadoc.Main.execute(Main.java:113)
at com.sun.tools.javah.Main.main(Main.java:153)
javadoc: error - fatal error请问怎样解决呢?
package test;public class HelloJNI { private native String hello_jni();
public static void main(String[] args){
new HelloJNI().hello_jni();
}
}之后javac HelloJNI.java 在同级目录下得到HelloJNI.class
之后javah -jni HelloJNI 报错:error: cannot access HelloJNI
bad class file: ./HelloJNI.class
class file contains wrong class: test.HelloJNI
Please remove or make sure it appears in the correct subdirectory of the classpath.
com.sun.tools.javac.util.Abort
at com.sun.tools.javac.comp.Check.completionError(Check.java:180)
at com.sun.tools.javadoc.DocEnv.loadClass(DocEnv.java:167)
at com.sun.tools.javadoc.RootDocImpl.<init>(RootDocImpl.java:95)
at com.sun.tools.javadoc.JavadocTool.getRootDocImpl(JavadocTool.java:178)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:364)
at com.sun.tools.javadoc.Start.begin(Start.java:162)
at com.sun.tools.javadoc.Main.execute(Main.java:113)
at com.sun.tools.javah.Main.main(Main.java:153)
javadoc: error - fatal error请问怎样解决呢?
解决方案 »
- android HTTP请求响应的问题
- 想要实现手机和PC机之间的交互
- Android 如何让 statusBar 拉不下来?
- android sqlit中文乱码问题
- 如何判断dialog是否在最前端
- 一运行就报这个错,大大来看下,环境都配好的
- Slidingmenu setTouchModeBehind(SlidingMenu.TOUCHMODE_FULLSCREEN)。菜单无法获取焦点
- 用TelephonyManager监听基站信息改变问题
- Android资源合集下载 源码与Wap模板 全部是0分资源 支持一键下载 全部是0分资源 支持一键下载
- 真机调试时 logcat 消息刷屏
- Android2.2的触摸屏如何发生ACTION_CANCEL和ACTION_OUTSIDE.在线等待
- android手机中sim卡状态获得的相关问题
在src目录下执行g++ -shared -l /usr/lib/jvm/java-6-openjdk/include test_HelloJNI.cpp -o lib_hello_jni.so
报错:
test_HelloJNI.cpp:2:17: error: jni.h: No such file or directory
In file included from test_HelloJNI.cpp:3:
test_HelloJNI.h:15: error: ‘JNIEXPORT’ does not name a type
test_HelloJNI.cpp:5: error: ‘JNIEXPORT’ does not name a type
g++ -shared -I /usr/lib/jvm/java-6-openjdk/include jni_helloworldImpl.cpp -o libHello.so
报错:
/usr/bin/ld: /tmp/ccfWtZxN.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/tmp/ccfWtZxN.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
http://blog.csdn.net/whitetao/article/details/6983543