是否可以访问android中的库文件?

时间:2014-05-30 18:51:57

标签: java android

我已经做了一些关于是否可以从应用程序访问库文件的研究,我还没有找到任何东西,是否可能?使用"库文件"我的意思是" android.jar"," android-support-v4.jar"。这些文件位于"参考库"和#34; Android私人图书馆"来自Eclipse中的包浏览器,但我想知道我是否可以从应用程序本身访问它们。我一直在看Android内置的类,我似乎无法找到任何可以让我访问它们的东西。首先我查看了PackageManager类,有一个名为" ApplicationInfo"的属性。

ApplicationInfo info = myContext.getPackageManager() .getPackageInfo(myContext.getPackageName(), PackageManager.GET_SHARED_LIBRARY_FILES).applicationInfo;

然后我做了......

String[] libs = info.sharedLibraryFiles

什么都没有回来..... 我也试过

File libDir = new File(info.nativeLibraryDir);

和" libDir"是空的。

是否可以检索应用程序使用的.jar文件?

1 个答案:

答案 0 :(得分:0)

是。如果应用程序本身读取伪文本文件/proc/self/maps,您将找到一个库列表(.jar和.odex以及本机.so),这些库正在被您使用应用程序进程,或通过zygote预先加载到所有应用程序的共享页面中。

但请注意,运行时中使用的那些与构建时中使用的那些不同。你会发现你链接的内容是" android.jar"实际上是在其他文件中的设备上实现的。附在项目源上的jar会被折叠到你的代码本身,好像它们是它的一部分而不是明显的.jar&#39。