我有一个关于 android 应用程序编程的问题。
Q1。我可以用 *.so 文件制作游戏吗?让android部分加载so文件?
Q2。当我在android应用程序中加载so文件时系统会发生什么?
System.loadLibrary("mylib");
windows中是否有像DLLMain这样的初始化函数?或者只是加载了库并且在 android 部分调用它之前什么都没有发生?
先感谢您
我有一个关于 android 应用程序编程的问题。
Q1。我可以用 *.so 文件制作游戏吗?让android部分加载so文件?
Q2。当我在android应用程序中加载so文件时系统会发生什么?
System.loadLibrary("mylib");
windows中是否有像DLLMain这样的初始化函数?或者只是加载了库并且在 android 部分调用它之前什么都没有发生?
先感谢您
1) 是的,使用适当的工具链。请参阅 NDK 文档和示例。
2) 运行时链接器将库映射到内存中,并采取措施使文件中的函数对请求加载文件的进程可用。
有几种可能的自动运行初始化程序,在一般情况下将由 Android 运行时链接器调用(不确定其源代码以外的引用),以及如果您将由 DVM 调用的附加初始化程序正在专门加载一个 JNI 库:
jint JNI_OnLoad(JavaVM* vm, void* reserved)
有关更多信息,请参阅 NDK 的此页面:
http://developer.android.com/training/articles/perf-jni.html