Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.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 如何为已使用的权限获取负责任的API调用?_Android_Api - Fatal编程技术网

Android 如何为已使用的权限获取负责任的API调用?

Android 如何为已使用的权限获取负责任的API调用?,android,api,Android,Api,考虑 PackageInfo info1=pm.getPackageArchiveInfo(apkPath,PackageManager.GET_权限) 在此语句中,通过使用GET_PERMISSIONS我可以获得应用程序中使用的所有权限集 我可以用同样的方法获得API调用吗 多谢各位。如果这是一个简单的问题,请原谅,我对android编程是新手。不,你不能通过任何简单的方法获得API调用,甚至可以说,也不能通过硬方法获得API调用 如果您可以访问应用程序的installed.apk(至少在较旧

考虑

PackageInfo info1=pm.getPackageArchiveInfo(apkPath,PackageManager.GET_权限)

在此语句中,通过使用
GET_PERMISSIONS
我可以获得应用程序中使用的所有权限集

我可以用同样的方法获得API调用吗


多谢各位。如果这是一个简单的问题,请原谅,我对android编程是新手。不,你不能通过任何简单的方法获得API调用,甚至可以说,也不能通过硬方法获得API调用

如果您可以访问应用程序的installed.apk(至少在较旧的Android版本上是这样),那么您可以通读它,查看平台功能的明显调用。(这是一种“静态分析”)

然而,Java(以及Dalvik)支持一种称为“反射”的机制,该机制允许按名称查找和调用函数——可以在运行时通过迂回的方式或用户或网络输入构造名称

用于在系统进程中调用功能的许多实际功能最终也是按名称执行的,这使得在运行时可以在另一个地方添加静态文件中不存在的功能


最后,Android的本机底层(也可能是DVM)允许有决心的程序员动态地将任意“数据”指定为“代码”,然后执行它。

定义“api调用”?如果你指的是其他不是的东西,那么我很确定答案是否定的。在一些在线静态分析器网站上,他们列出了api调用。这怎么可能?试试任何apk反编译器。但是不要忽视静态分析的严重的、基本的局限性,它不能只捕获运行时“构造”的调用。