Java 检查其他应用程序是否使用NDK/支持库/第三方LIB

Java 检查其他应用程序是否使用NDK/支持库/第三方LIB,java,android,Java,Android,我注意到有一些应用程序可以扫描你的android手机,告诉你哪个应用程序使用的是什么libs。例如: Facebook正在使用Android NDK、Android支持库、谷歌云消息 我的猜测是,他们可能使用了类似于PackageManager、ApplicationInfo、ActivityInfo等的API 但不知何故,我不确定他们使用了哪种特定的API来获得结果。知道他们是怎么做到的吗?我不知道该应用程序是否使用了“Android支持库”,但其他的。。。看一看。获得管理员的参考后,您可以获

我注意到有一些应用程序可以扫描你的android手机,告诉你哪个应用程序使用的是什么libs。例如:

Facebook正在使用Android NDK、Android支持库、谷歌云消息

我的猜测是,他们可能使用了类似于PackageManager、ApplicationInfo、ActivityInfo等的API


但不知何故,我不确定他们使用了哪种特定的API来获得结果。知道他们是怎么做到的吗?

我不知道该应用程序是否使用了“Android支持库”,但其他的。。。看一看。获得管理员的参考后,您可以获得有关已安装应用程序的信息:

PackageManager packageManager = getPackageManager();
List<PackageInfo> packages = packageManager.getInstalledPackages(0);
for(PackageInfo package : packages){
    String[] permissions = packageInfo.requestedPermissions;
    // knowing permission you can conclude, what does app uses: 
    // GCM - com.google.android.c2dm.permission.RECEIVE is required
    // ...

    ApplicationInfo app = package.applicationInfo;
    String apth = app.nativeLibraryDir;
    // based on this information you can conclude whether app uses NDK
}
PackageManager-PackageManager=getPackageManager();
List packages=packageManager.getInstalledPackages(0);
for(PackageInfo软件包:软件包){
字符串[]权限=packageInfo.requestedPermissions;
//了解您可以得出的结论,应用程序使用什么:
//GCM-com.google.android.c2dm.permission.RECEIVE是必需的
// ...
ApplicationInfo app=package.ApplicationInfo;
字符串apth=app.nativeLibraryDir;
//根据这些信息,您可以推断应用程序是否使用NDK
}