首页 > 代码库 > 关于java jni编译javac javah的问题

关于java jni编译javac javah的问题

这篇文章是在安卓教程网http://android.662p.com那边分享过来的,文章说得还不错的,希望能够帮到大家的学习。

 

javac  编译class文件命令,需要注意的是当类B中import类A时,在编译B时要包含A的路径,如
project  src  com.jl.test  A.java  
                     com.jl.test2 B.java
B中importA,在编译B时应该  : javac  -cp ~/project/src  B.java       (-cp :classpath简称,要保证~/project/src  下能找到如B中描述的 import com.jl.test.A;)(~/project/src 为相对路径,在linux下是相对路径,windows下可写绝对路径,如D:/project/src)

javah  将class文件编译成.h文件,保证文件中包含native方法,主要完成调编译成的so文件。
退到src 下,或者你的包名外的目录,"com"外,执行  javah -jni com.jl.test2.B,    (不带class扩展名,自动默认找class文件)
ok
会在com路径外生成 Java_com_jl_test2_B.h

如果在编译中还报导入第三方包的文件报错可以先注释掉报错文件再编译。

详细说明:http://android.662p.com/thread-5244-1-1.html