使用javah生成.h文件, 出现无法访问android.app,Activity的错误的解决

【问题】

当在Android项目路径下,使用javah指令生成.h文件时,javah -classpath bin/classes -d jni com.example.myhellojni.MainActivity 

出现--->错误:无法访问android.app.Activity 找不到android.app.Activity的类文件。

其中 -classpath bin:表示类的路劲

其中 -d jni: 表示生成的头文件存放的目录

其中 com.example.hellojni.HelloJni 则是完整类名

【解决办法】

进入src目录,使用javah -d ../jni com.example.myhellojni.MainActivity 指令代替。

其中 -d:建立一个目录。

其中../jni :在上级目录的jni文件下生成头文件。

原理:.java文件也不用编译可以直接生成.h文件。

 另:

无法访问android.app.Activity是说明没有引入android.jar包
可以看看java -h里面的具体说明。
其中有一个-bootclasspath参数 让他指向android.jar包
以下举个例子:javah -classpath bin/classes -bootclasspath D:Environmentandroid-sdk-windowsandroid-sdk-windowsplatformsandroid-16android.jar  -d jni com.jm.promedia.SecondActivity
或:


或者也可以到src目录下 javah -d ../jni com.jm.promedia.SecondActivity,但它生成的文件不如上面详细


其中-d是建立一个目录,把生成文件放进去

原文地址:https://www.cnblogs.com/xunbu7/p/4185438.html