It seems like that working with jni will become my everyday routine for a few months. Is there any some tools which simplify dealing with mixed Java + C++ projects?
Is it possible to re-generate glue *.h files and rebuild native libraries automatically? Or I should write some scripts for maven, ant, gradle, anything_else?
Is there any experience?
Some months ago I faced the same questions. It seems that Java/C++ interop is reviving just now, and that you are one of the pioneers.
If you’re merely using C++ objects from Java, JNA may be a better solution.
If you’re using Java from C++, I didn’t yet encounter a mature library. Although functionally quite complete, JNI is is a C api (intentionally, if you read the design rationale). If you are about to write lots of code for it, I think it’ll pay to write a C++ framework around it that wraps the bare
jobject,jnienv,jclass… handles into explicit resources.The real issues arise when the C++ and Java have to co-operate using callbacks etc… Buckle up if that’s your intent…