Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取Android APK使用的第三方库列表_Android_Libraries - Fatal编程技术网

获取Android APK使用的第三方库列表

获取Android APK使用的第三方库列表,android,libraries,Android,Libraries,有没有一种方法可以在不访问源代码的情况下获取Android APK文件正在使用的第三方库的列表 我正在考虑两个选项: 1。使用LibRadar等工具进行检测。然而,据我所知,它使用基于签名的检测,因此并不全面 2.使用jadx对APK文件进行反编译,并手动遍历所有不是应用程序包名称的源文件夹 例如,如果我的应用程序是com.myapp,我将遍历com/myapp之外的所有源文件夹 据我所知,这方面存在两个问题: a.模糊化的库将有模糊化的名称,因此我将有一个 检测为a.a.a、a.a.b等的一组

有没有一种方法可以在不访问源代码的情况下获取Android APK文件正在使用的第三方库的列表

我正在考虑两个选项:

1。使用LibRadar等工具进行检测。然而,据我所知,它使用基于签名的检测,因此并不全面

2.使用jadx对APK文件进行反编译,并手动遍历所有不是应用程序包名称的源文件夹

例如,如果我的应用程序是com.myapp,我将遍历com/myapp之外的所有源文件夹

据我所知,这方面存在两个问题:

a.模糊化的库将有模糊化的名称,因此我将有一个 检测为a.a.a、a.a.b等的一组库

我不知道在哪里停。例如,库的包名可能是 com.somelibrary,但主目录下可能有多个子文件夹 文件夹,例如com/somelibrary/a、com/somelibrary/b等。我没有 了解库的根文件夹是什么的方法


是否有一种一致、准确的方法可以列出没有上述限制的第三方库?

好问题。作为项目的一部分,我一直在研究同一个问题。你提到的两种方法是我所知道的唯一选择。我的结论是,没有一种方法是全面的。但是,使用Github上提供的Libradar源代码,您可以创建您认为缺少的库的签名,并将其添加到数据集中。但是,要做到这一点,您需要一个包含这些库的应用程序数据集。如果您的目标是只从一个APK中查找库,那么这将是大量的工作,但如果您使用的是更大的数据集,这将是有益的