我正在开发一个开源的模拟器项目,它有多个可自定义的本地插件。这些插件被构建为本地共享对象库(.so文件),并通过JNI在本地和Java之间提供各种接口。我们需要一种在应用程序安装后随时导入这些.so文件的方法,而不是将APK分发到创建的每个插件中,为了让人们可以构建自己的自定义插件,我需要一种方法来随时导入这些.so文件。如何在Android中的运行时导入共享对象库?
我发现我可以将文件复制到文件夹/ data/data/[package_name],但不是lib /子文件夹(因为它属于“系统”组)。为了在Java中使用JNI接口,我必须调用System.loadLibrary(libname);但是,这似乎需要.so文件位于lib /子文件夹中。解决这个问题的唯一方法就是要求用户拥有一台根植设备。有没有另外一种方法来完成这个?
啊哈,我不知道System.load是用于这个。猜猜我应该在发表问题之前进行研究。谢谢您的帮助! – paulscode 2012-04-27 01:51:35