我对android应用程序编程有疑问。
Q1。我可以用* .so文件制作游戏吗?然后让android部分 加载so文件?
Q2。当我在Android应用程序中加载so文件时系统会发生什么?
System.loadLibrary("mylib");
在Windows中是否有类似DLLMain的初始化函数? 或者只是加载了库,之前没有任何事情发生 android部分调用它吗?
提前谢谢
答案 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