Если посмотреть на этот вопрос с другой точки зрения ... нет проблем с включением нативного кода для нескольких классов в один файл LIB.c, используемый для создания "libPOW.so".
Рассмотрим следующее содержимое файла "LIB.c":
/* Common Header Files... including jni.h <em>/
/</em>
* Class: your.pkg.Boo
* Method: doSomething
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_your_pkg_Boo_doSomething(
JNIEnv <em>env, jobject jobj, jint job)
{
...
}
/</em>
* Class: your.pkg.Wow
* Method: doSomething
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_your_pkg_Wow_doSomething(
JNIEnv *env, jobject jobj, jint job)
{
...
}
Затем скомпилируйте через:
$(CC) $(CCOPTS) [$(CCOPTS64)] $(JAVAOPTS) LIB.c -o libPOW.so
Куда:
CCOPTS == "-G -mt" (solaris) OR "-Wall -Werror -shared -shared-libgcc -fPIC" (Linux)
CCOPTS64 == "-xcode=pic32 -m64" (SparcV9) OR "-m64" (AMD64)
JAVAOPTS == "-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/$(OSNAME) -I."
Cheers,
leoJava