上个配置图先:
格式如下:
1. -v -classpath $ModuleFileDir$\build\intermediates\classes\debug;D:\Users\Muse\AppData\Local\Android\sdk\platforms\android-21\android.jar -jni -d $ModuleFileDir$\src\main\jni $FileClass$
更新:Android Studio 1.4
-v -classpath $ModuleFileDir$\build\intermediates\classes\debug;D:\Users\Muse\AppData\Local\Android\sdk\platforms\android-21\android.jar;H:\Android\MotionDetect\openCVLibrary300\build\intermediates\bundles\debug\classes.jar -jni -d $ModuleFileDir$\src\main\jni $FileClass$
* -classpath: in our case, we need the JNIActivity.class which is kept in "<project-root>\bin\classes"; and its superclass Android.app.Activity.class which is kept in android.jar under the Android SDK.
* -o: to set the output filename.
如果在分号”;”后面有空格将会报错
如果报错如下:
错误: 无法访问android.support.v7.app.ActionBarActivity
找不到android.support.v7.app.ActionBarActivity的类文件
则把用户类(一般是MainActivity)所继承的父类ActionBarActivity改为Activity即可。
PS: android studio的External Tool的使用方法: 在窗口左边的类视图中选中要生成对应头文件的Java类,右键->External Tools->javah(举例,工具名称是自定义的)
================================更新线======================================
前述方法在Windows 7系统下测试通过,但在Linux Fedora 22系统上需要将分隔符由分号”;”改为冒号”:”;
截了个图:
参数说明请移步ORACLE javah文档