【发布时间】:2011-06-02 14:37:22
【问题描述】:
黄金法则是在向公众发布您的 Android 应用程序之前将可调试选项设置为关闭。
如果我离开(忘记关闭)这个选项会怎样?我的意思是,它将如何向用户显示?
我测试并没有发现任何差异。
【问题讨论】:
黄金法则是在向公众发布您的 Android 应用程序之前将可调试选项设置为关闭。
如果我离开(忘记关闭)这个选项会怎样?我的意思是,它将如何向用户显示?
我测试并没有发现任何差异。
【问题讨论】:
它将如何呈现给用户?
普通用户不会注意到差异。
顺便说一句:
Support for a true debug build。开发人员不再需要将 android:debuggable 属性添加到清单中的标签 — 构建工具会自动添加该属性。在 Eclipse/ADT 中,所有增量构建都假定为调试构建,因此工具插入 android:debuggable="true"。导出签名的发布版本时,工具不会添加该属性。在 Ant 中,ant 调试命令会自动插入 android:debuggable="true" 属性,而 ant release 则不会。如果手动设置了 android:debuggable="true",那么 ant release 实际上会进行调试构建,而不是发布构建。
【讨论】:
android:debuggable 属性;当您使用 Eclipse 的插件生成生产 APK 时,它也会为您删除该属性。
在禁用 USB 调试的标准手机上,它将允许任何应用程序调试应用程序。这将有效地允许任何恶意应用程序获得对应用程序的完全访问权限。
有关此问题的详细说明,请参阅https://labs.mwrinfosecurity.com/blog/2011/07/07/debuggable-apps-in-android-market/。
【讨论】:
这可能会降低他们的移动设备速度,尤其是当您的应用程序中有大量调试语句时。恶意用户也有可能比您希望他们了解更多有关您的应用程序内部工作原理的信息。
关于黄金法则,您是完全正确的。为了安全起见,最好将其关闭。
【讨论】:
恶意用户也有可能比您希望他们了解更多有关您应用内部运作的信息。
一个好的做法是将调试模式专门链接到您的唯一设备 ID。
【讨论】:
@askmo:您可以使用 SDK 中的一些工具来检查 APK 是否具有调试值。检查以下链接:
http://lulachronicles.blogspot.com/2011/04/how-to-check-if-apk-has-flag.html
BR,
伊格纳西奥
【讨论】: