javah找不到类文件,找不到Activity,Android studio下的ndk编译

不知不觉从自己跨入技术行业已经三年了,突然想开始博客生涯,来吧,发布昨天刚刚解决的一个小问题。

1.javah找不到 com.example.JniTestt类(自己准备生成头文件的类),系统dos找不到你的类,反推一下,其实就是你的java 的问题,解决方案如下:

win+R-》cmd,开启windows DOS命令行,随便写一个java类,通过javac编译,然后通过javah编译,看是否能编译,如果出现上述问题,ok,其实就是classpath没通过,

两种方案:

1)通过set classpath="你想要使用javah编译class文件的路径,绝对路径",然后javah -jni JniTest 

public class JniTest{

	//其实这里现在不写也可以,等到ndk准备生成.so库的时候再写就可以
	 static {
        System.loadLibrary("jnitest");
		}
	//native本地函数
    public static native String hello_jni();

	//方便在dos中测试,写了一个主函数
	public static void main(String[] args){
		System.out.printf("浣犲ソ");
		
	}
}
2)通过javac 到上述.java文件下编译java为.class文件,然后通过javah -classpath 文件所在目录 -jni JniTest (PS:中间没有点隔断,只有空格,JniTest后面没有.class)
这里就可以生成一个.h 头文件,你会发现,直接在dos中就能生成,其实初学者很很容易陷入一个误区,我学习Android,Android通过java开发,那么java就一定是Android的,其实java是世界的,它有丰富的设计理念和各类工具,好,

现在解决NDK开发中Javah不能找到类的问题,通过配置classpath到相应的路径,或是直接到达你的项目路径下   如:你的项目路径\app\vuild\intermediates\classes\debug 输入javah -jni com.example.JniTest ,如果仍然找不到类,那么试试 set classpath=你的项目路径\app\vuild\intermediates\classes\debug   在dos中进行设置,然后进行javah -jni com.example.JniTest 
注:第一篇技术文档,不熟悉CSDN,试试,下一遍解决找不到Activity相关开发Android的类,
      
自学软硬嵌入式的可加QQ群:371776285




你可能感兴趣的:(Android)