How to generate C header file (*.h) containing the function prototype for the native method implementation JNI in Android studio while build automatically?
Thank You
I suggest creating an External Tool.
Go to File->Settings->Tools->External Tools and add a new tool. Fill the dialog form (use "Insert Macro" button )
Leave the other options unmodified.
Now you can select your class in the Project Explorer, right click and, from the context menu, launch the External Tool->javah.
The header file will be created in the cpp folder of your project (as suggested for Android Studio Native development) but you will need to browse the folder in order to see it.
Credits to http://kn-gloryo.github.io/Build_NDK_AndroidStudio_detail/ (modified to be more consistent with more recent SDK and Android Studio) and to Javah: Error: cannot access android.support.v7.app.ActionBarActivity
Assume you have a project HelloNative
HelloNative
|-build/intermediate/classes/debug (you get this directory upon project build)
|-app/src/main/jni
/src/main/java/com/planets/mercury/HelloNativeActivity.java
And you want to generate the header file for HelloNativeActivity.java --> do this
cd HelloNative
javah -d app/src/main/jni -classpath /Users/john-smith/Android/sdk/platforms/android-19/android.jar:app/build/intermediates/classes/debug com.planets.mercury.HelloNativeActivity
Replace john-smith and android sdk path with what it is on your own machine. For the android jar file. You can use whatever is your choice.
Eg. android-19, or android-21
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With