是否可以在有根的Android手机上隐藏“USB调试”切换?

时间:2011-04-20 21:26:58

标签: android adb nexus-s

此处的用例是将Nexus S部署为企业平台的一部分。手机用户不应该能够启用USB调试 - 但管理员应该使用密码或类似的东西。

看起来应该可以通过部署自定义版本的Settings.apk = com.android.settings和/或SettingsProvider.apk = com.android.providers.settings来实现这一点。有没有更轻量级的选择?

1 个答案:

答案 0 :(得分:1)

不确定这是否与开发相关的问题。无论如何,我会这样做:

  1. 从/ system / app
  2. 获取Settings.apk
  3. 将Settings.apk重命名为Settings.zip
  4. 现在获取./res/xml/development_prefs.xml(此xml的示例为here
  5. 您需要将此development_prefs.xml从二进制文件转换为文本(您需要自己解决这个问题,我自己从未尝试过)。
  6. 使用键“enable_adb”删除首选项。
  7. 将development_prefs.xml转换回二进制格式。
  8. 将其复制到Settings.zip存档
  9. 将Settings.zip重命名为Settings.apk
  10. 将此修改后的Settings.zip复制到手机
  11. 另外一个注意事项:格式为“xml- [locale]”的文件夹数量,如“xml-ru”,“xml-zh-TW”等。您也应该修改这些文件夹中的所有development_prefs.xml。或者作为另一种选择,如果您不需要多语言支持,则可以完全删除所有thos文件夹。

    如果您的管理员需要启用adb,他们可以将原始的Settings.apk复制到手机上。或者您可以单独使用此功能自行编写小型.apk,并将其与修改后的Settings.apk并排安装。