我已经做了一些关于是否可以从应用程序访问库文件的研究,我还没有找到任何东西,是否可能?使用"库文件"我的意思是" 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文件?
答案 0 :(得分:0)
是。如果应用程序本身读取伪文本文件/proc/self/maps
,您将找到一个库列表(.jar和.odex以及本机.so),这些库正在被您使用应用程序进程,或通过zygote预先加载到所有应用程序的共享页面中。
但请注意,运行时中使用的那些与构建时中使用的那些不同。你会发现你链接的内容是" android.jar"实际上是在其他文件中的设备上实现的。附在项目源上的jar会被折叠到你的代码本身,好像它们是它的一部分而不是明显的.jar&#39。