android本机库的使用(.so)

时间:2013-05-23 20:02:50

标签: android loadlibrary

我对android应用程序编程有疑问。

Q1。我可以用* .so文件制作游戏吗?然后让android部分 加载so文件?

Q2。当我在Android应用程序中加载so文件时系统会发生什么?

System.loadLibrary("mylib");

在Windows中是否有类似DLLMain的初始化函数? 或者只是加载了库,之前没有任何事情发生 android部分调用它吗?

提前谢谢

1 个答案:

答案 0 :(得分:0)

1)是的,使用适当的工具链。请参阅NDK文档和示例。

2)运行时链接程序将库映射到内存中,并采取措施使文件中的函数可用于请求加载文件的进程。

有几种可能的自动运行初始化程序,这两种程序都可以在一般情况下由Android运行时链接程序调用(不确定其源代码以外的引用),还有一个将由如果您专门加载JNI库,则为DVM:

jint JNI_OnLoad(JavaVM* vm, void* reserved)

有关详细信息,请参阅NDK的此页:

http://developer.android.com/training/articles/perf-jni.html