javah 找不到Activity类

来源:互联网 发布:样本册设计软件 编辑:程序博客网 时间:2024/06/06 20:08

其实和上一篇问题一样,仍然是classpath路径的问题;创建路径:com.example


解决方案:

进入 你的项目\app\build\intermediates\classes\debug  通过Android studio进行Build-》Make Project进行生成.class文件

在Terminal进入以上的目录,通过javah -jni com.example.JniTest 如果找不到这个类,参考上一篇文章

找到类之后,会发现提示找不到android.app.Activity类,这是因为classpath没有配置到环境变量中,教大家写一种完整的javah方案,好好看看classpath路径,或许就明白了

 javah -classpath 你的项目路径\app\build\intermediates\classes\debug;你的Androidsdk路径\platforms\android-25\android.jar -jni com.example.JniTest       

上面这段dos命令大家按照自己的实际情况进行写,(如:你的项目路径,是你的项目存在你的硬盘中的绝对路径),android-25,那个Android版本都行

原理:其实就是java在编译class文件中会进行对其中导入的包(android.app.Activity)进行按照环境变量和设置的进行查找,如果查找不到,自然报错

所以,只需要把你的sdk中的编译android的android.jar配置到环境变量中,当然前面的路径,如果你不嫌麻烦,那就把所有工程的目录配置到classpath中,也可以使用DOS中set classpath=你的项目路径\app\build\intermediates\classes\debug 你可能在很多解决方案中看到classpath后面有'.',这个点千万不要点,不知道哪个大哥开始的这个毛病。


好,刚开始写CSDN,由于经验不足,写的文章可能有点bug,如果有什么问题,欢迎留言,看到后回复,下一篇给大家点更方便使用Android studio和ndk开发的干货



1 0
原创粉丝点击