NDK: ant 错误 [javah] Exception in thread "main" java.lang.NullPointerException 多种解决办法
1、错误提示内容
2、ant脚本对应的内容
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!-- ====================================================================== 3 2016-8-28 下午3:26:45 4 5 HellNDK 6 description 7 8 cjy 9 ====================================================================== --> 10 <project name="HelloNDK" default="BuildAllHeaders"> 11 <description> 12 description 13 </description> 14 15 <!-- ================================= 16 target: BuildAllHeaders 17 ================================= --> 18 <target name="BuildAllHeaders"> 19 <antcall target="BuildGetStringHeader"> 20 </antcall> 21 <antcall target="BuildGetIntHeader"> 22 </antcall> 23 </target> 24 25 <!-- - - - - - - - - - - - - - - - - - 26 target: depends 27 - - - - - - - - - - - - - - - - - --> 28 <target name="BuildGetStringHeader"> 29 <javah destdir="./jni" classpath="./bin/classes/" class="com.example.hellondk.GetString"> 30 </javah> 31 </target> 32 33 <!-- - - - - - - - - - - - - - - - - - 34 target: BuildGetIntHeader 35 - - - - - - - - - - - - - - - - - --> 36 <target name="BuildGetIntHeader"> 37 38 </target> 39 40 41 </project>
3、解决方案
方法(1)
进行下列步骤:Run -> External Tools -> External Tools Configurations dialog
在界面中选择jre选项
选择Run in Same JRE as workspace
全部完成后,在进行重新编译,一般情况下,问题就可以解决了。要是没有解决,参考方法(2)
参考来源:http://stackoverflow.com/questions/15032230/cant-load-javah-error-in-eclipse
方法(2) 在上图界面中,选择Separete JRE,选择一个新的jre。
如上图所示,我安装了jdk1.8.0_51。选择之后,点击ok确定。然后在重新进行编译,错误应该就会没有了。
当然,要是你没有安装新的jre,那么安装一个和自己的eclipse版本对应的jdk(记住安装位置),安装好之后,点击上图的Search找到自己安装jdk的位置,导进来就可以了。