English 中文(简体)
Android NDK: Autogenerate function declarations?
原标题:

I am trying to use a pre-existing native C library in my android project.. The library builds just fine with the NDK tools...

Now what I ve come to understand is that I cannot just call into the library, but my library needs to include jni.h and add specific function declarations, like for example:

JNIEXPORT jint JNICALL Java_com_MultPkg_Mult_mult(JNIEnv *, jobject, jint, jint);

But since I m using an existing library I that is also used on other platforms I don t like the idea of littering the whole code with these definitions that will only end up wrapping my real functions...

Is there a way around this? And if this really is the only way, is there any way to automatically generate these based on my existing C function declarations/definitions?

Much appreciated

问题回答

Use the javah tool that comes with your JDK as it s not part of the Android s SDK nor NDK.

Use SWIG to auto generate the jni compatible c file. It also generate the .java class so that your android interacts with the java class in which has all the native methods.

Take a look at this : SWIG Android





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签