有没有简单的方法来识别所有需要适应Android M(6、API 23)中运行时权限的API调用呢?似乎你只能通过测试、试错或专家知识(例如:查看API文档和源代码)来弄清楚。我原本以为Google会发布一个迁移工具,但我还没有看到任何证据。不这样做看起来会让你的应用程序容易受到运行时崩溃的影响,即使你没有在清单中使用运行时权限标签。
迁移到运行时权限的最佳实践是什么?
迁移到运行时权限的最佳实践是什么?
我没有找到任何现有的工具,所以我们在Galois团队改进了一个我们过去4年中创建的静态分析工具,用于识别二进制Android应用程序中受保护的权限方法调用。
您可以在以下位置使用它:
这里有更多的细节:
http://galois.com/blog/2015/10/fuse-analyzer-handling-runtime-permissions-android-6-0/
targetSdkVersion
。您的应用程序将像往常一样运行。如果用户禁用某些权限,则您应该从所有受影响的API调用中获得有效结果,只是没有太多的结果(例如,查询ContactsContract
将表现为用户没有联系人,这是一个完全有效的状态,而不管运行时权限如何)。 - CommonsWare