从Android System App的数据中获取Native Lib

时间:2015-11-18 04:39:57

标签: java android nativelibrary

我想从我的应用程序的数据中获取将安装在系统中的本机lib路径,我试过这段代码:

String libPath = "/data/data/" + packageName + "/lib/" + libName+".so";
System.load(libPath);

但它给出了这个错误:

  

java.lang.UnsatisfiedLinkError:dlopen failed:library   /data/data/xxxx/lib/lib.so未找到

我试图用

来硬编码
String libraryPath = context.getFilesDir().getParentFile().getPath() + "/lib/"+libname+".so";
System.load(libraryPath);

但如果我使用此代码,则显示相同的错误:

String libPath = context.getApplicationInfo().nativeLibraryDir +libname+".so";
System.load(libPath);

该应用程序将尝试从系统/应用程序获取本机lib并显示相同的错误,任何人都可以帮助强制从数据中获取本机库吗?也许是这样的

  

context.getApplicationInfo()。nativeLibraryDir

但强制​​数据,而不是系统,因为当我尝试在日志中显示libpath时(当我尝试安装数据时),它会显示

  

/data/app/apppackage-1/lib/arm/libname.so

包名后有一个数字有时为-1,有时为-2。

0 个答案:

没有答案