如何在android中加载不在System / lib文件夹中的.so文件?

时间:2011-02-09 05:39:45

标签: android

我在android中的存储卡中有一个名为libJSA.so的文件,并想在我的应用程序中加载它。

如何使用System.loadLibrary("libname");加载此文件?

我尝试过的事情: -

  • 尝试将其复制到/system/lib。 ----没有用
  • System.loadlibrary("/mnt/sdcard/folder/libJSA.so"); --------无效

4 个答案:

答案 0 :(得分:1)

System.loadlibrary("/mnt/sdcard/folder/libJSA.so"); // Not working

尝试:

System.loadLibrary ("JSA.so");

not(java区分大小写):

System.loadlibrary("JSA.so")

或者尝试

Static{
    System.load("/sdcard/folder/libJSA.so");
}

把它放在课堂内和onCreate之外。

答案 1 :(得分:1)

AFAIK,除非它是系统库或你是在root设备上,否则你无法加载任何在你签名的APK包之外的库,这意味着你想要做的事情无法完成。

答案 2 :(得分:1)

简单地:

System.load("/mnt/sdcard/folder/libJSA.so");

答案 3 :(得分:0)

尝试删除“lib”前缀 如果您的库名是“libJSA.so”,请尝试使用System.loadLibrary ("JSA");