I am having troubles generating the C header file for JNI using javah
.
Here's the script I use while standing in the <project-dir>\bin
directory:
javah -classpath C:\PROGRA~2\Android\android-sdk\platforms\android-8\android.jar com.test.JniTest
As return I get:
ERROR: Could not find class file for 'com.test.JniTest'.
Even though the class JniTest
certainly is in \com\test
.
What am I doing wrong?
You specify the classpath to contain only android.jar
.
You also need to include the location where your classes are stored. In your case it is the current directory, so you need to use .
(separated by ;
on Windows). The invocation should look like this:
javah -classpath C:\PROGRA~2\Android\android-sdk\platforms\android-8\android.jar;. com.test.JniTest
If you are on Linux or MAC-OS, use ":"
to separate the directories for classpath
rather than ";"
character: Example:
javah -cp /Users/Android/android-sdk/platforms/android-xy/android.jar:. com.test.JniTest
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