在哪里为System.loadLibrary执行库初始化?

时间:2014-09-18 16:26:35

标签: android android-ndk initialization

我想在库中做一些初始化工作。任何线索都会很棒。感谢。

1 个答案:

答案 0 :(得分:0)

全局/静态C ++对象的构造函数可能是个好地方(但不要忘记.cpp文件中JNI方法的extern "C"{})。但是,构造函数没有获得JNIEnv指针,并且无法对Java世界做任何事情。

或者,在执行loadLibrary()调用的类中引入静态本机方法,并在loadLibrary()调用之后立即调用此方法。这可能更简单 - 无需使用C ++。