是否有适用于Android的良好USB调试切换小部件?


12

您能建议我一个小工具来切换Android的USB调试模式吗?还是可以编码并上传到市场?

(由于HTC Desire和HD的初始化过程消耗了100%的CPU错误,因此我需要它。切换后,它会重置为0)


1
自从首次提到此修复程序以来,我就启用了USB调试模式,除了将其插入Windows时恼人的缺少驱动程序弹出窗口外,我还没有注意到amy的不利影响。为什么需要打开和关闭它?
Matt H

如前所述,如果我不保持USB调试模式为开,则init进程开始消耗htc欲望电话中的100%cpu。
Ahmet Alp Balkan

Answers:


7

这里的 安装程序易于安装,而 小部件仅用于手动安装


安装说明


先决条件:

  1. 你必须扎根
  2. 您必须能够写入/system/app/文件夹。USB调试是“安全”设置,因此必须将此小部件作为系统应用程序安装。如果您安装到标准安装位置(即使在已root用户的设备中),也将无法使用。


简易指导(推荐)

  1. Nico编写了一个易于使用的安装程序,可以自动完成安装/system/app/在此处下载并运行安装程序。
  2. 像常规小部件一样,将小部件添加到您的主屏幕。


手动安装

如果简单说明不起作用,请尝试手动安装:

  1. 下载ADBWidget.apk并将其保存到您的计算机
  2. 将ADBWidget.apk复制到/ system / app

    • 方法1-使用Android调试桥(ADB)

      1. 重新安装/system/app为可读写(请参见下面的“附加说明”部分)
      2. adb push ADBWidget-x.x.apk /system/app/ADBWidget.apk (用适当的版本号替换xx)
      3. 重新挂载/system/app为只读
    • 方法2-使用恢复的update.zip(尚未经过测试)

    • 方法3-使用Root Explorer(尚未经过测试)
  3. 将ADBWidget添加到主屏幕


升级说明

如果要从以前的版本升级,则无需再次执行上述所有操作。您可以使用常规安装方法(例如,从文件资源管理器中打开apk),只需在常规应用程序目录上安装更新即可。只要/system/app目录中的小部件的先前版本具有相同的签名密钥(即我的密钥,如果您使用上面的apk下载),Android便会/data/app以相同的权限提供更新的版本。


使用说明

单击小部件以切换USB调试。蓝色的USB图标表示未启用USB调试,红色的USB图标表示已启用USB调试。


卸载指令

由于该小部件已安装到/ system / app,因此无法使用标准应用程序卸载程序将其删除。因此,只需从/ system / app中删除.apk。

su
remount /system as read write
rm /system/app/ADBWidget.apk
remount /system as read only


其他说明


重新安装/ system /为读写

  1. 打开“终端仿真器”或“ adb shell”
  2. 获取root权限,输入 su
  3. 获取设备名称,输入 mount | grep /system
  4. 您应该看到类似以下内容:

    /dev/<device-name> on /system type rfs (ro,codepage=utf8,vfat,fcache(blks)=128,xattr,check=no)

  5. 注意<device-name>,然后键入:mount -o remount,rw /dev/<device-name> /system


将/ system /重新安装为只读

  1. 步骤1、2、3、4与上述相同
  2. 类型: mount -o remount,ro /dev/<device-name> /system


故障排除

  • 有时,小部件冻结,并且不响应单击。如果发生这种情况,通常删除并重新添加小部件即可解决该问题。


注意

  • 不要抱怨默认的图标和小部件按钮丑陋,但是如果您可以给我发送更好的图标/小工具图像,我很乐意添加。现在,有了@Jay,我们有了一个图标。
  • 不要相信要求您将应用程序安装到/ system / app的陌生人
  • 在Samsung Spica i5700 SpicagenMod Froyo上进行了测试。

很好,谢谢!你反应很快!但是为什么我们需要root访问权限?手动启用AFAIK不需要root访问。不管怎么说,还是要谢谢你。
Ahmet Alp Balkan

@Ahmet Alp Balkan:“设置”应用程序(手动方式)是系统应用程序,即安装在/ system / app中。在无根的Android手机中,此分区是只读的,以维护系统的完整性和安全性,未安装在/ system / app中的应用程序无法获得“写入安全设置”权限。该窗口小部件仅需要root用户访问权限,因此您可以安装到/ system / app,以便该窗口小部件可以获取 “写安全设置” 权限,尽管我尚未对derooted进行测试,但我认为您实际上不需要使用 root用户权限电话呢。
Lie Ryan

简而言之,USB调试是一项“安全”设置,只有系统应用程序才能获得“写安全设置”权限,系统应用程序需要安装在/ system / app中,只有root用户的手机才能写入/ system / app,因此此应用程序需要root。设置应用程序不需要root,因为它已预安装在/ system / app中。另外,我可以轻松启动“设置”应用,以便您可以自己禁用USB调试,但这需要3次单击(在小部件/图标上为1次,在USB调试上为1次,在确认时为1次),而不是在小部件上单击1次,只是这样做就可以了不需要root,但仍然很麻烦。
Lie Ryan

效果很好,但是该图标很难看!:-p在下一个版本中,有什么方法可以表明切换成功或表明是否启用或禁用了USB调试?(即图标可能是一种颜色,表示启用,另一种颜色表示禁用。)只是一个想法,但谢谢!

嗨,我看了一下您的源代码,并尝试将此选项添加到我的应用程序(Widgetsoid)中,但对我来说不起作用。我有02-22 11:26:07.260:警告/设置(3652):设置adb_enabled已从android.provider.Settings.System移至android.provider.Settings.Secure,返回只读值。02-22 11:26:07.260:警告/设置(3652):设置adb_enabled已从android.provider.Settings.System移至android.provider.Settings.Secure,其值保持不变。我做错了什么?谢谢你帮我 问候吉姆

0

如果您具有2.1或更高版本,则可以使用下拉通知区域快速禁用调试模式。可悲的是,这就是我所要做的,必须手动完成。我搜索了却找不到小部件。


0

有一些应用程序可以做到这一点。但是所有这些都需要成为系统应用程序。我不想这样做。因此,我自己制作了一个小部件,该小部件的工作原理与其他任何小部件一样。您可以从这里获取:

https://github.com/alseambusher/adb-toggle

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.