gpt4 book ai didi

android - 希望使用命令行或在应用程序中启用和禁用(切换)ADB 或 USB 调试

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:01 28 4
gpt4 key购买 nike

我试图仅在我的应用程序运行时启用 ADB(USB 调试),并在我的应用程序未运行时禁用它。我拥有手机的完全访问权限,它已获得 root 权限,su 可用等,但我找不到进行切换的方法。

到目前为止我尝试了什么:

Process proc = Runtime.getRuntime().exec(new String [] { "su", "-c", "setprop", "persist.service.adb.enable", "0"});
proc.waitFor();
Process proc2 = Runtime.getRuntime().exec(new String [] { "su", "-c", "stop", "adbd"});
proc2.waitFor();

然而,这会导致手机立即进入重启循环。

最佳答案

有效的代码很简单:

Settings.Secure.putInt(getContentResolver(),Settings.Secure.ADB_ENABLED, 0); // 0 to disable, 1 to enable

编辑/更新:感谢@MohanT 进行以下更新:

Settings.Global.putInt(getContentResolver(),Settings.Global.ADB_ENABLED, 0); // 0 to disable, 1 to enable

但是,该应用需要是系统应用才能使用它。为了摆脱必须对其进行签名、构建自定义 ROM 等的麻烦。我执行了以下操作以使其成为系统应用程序。

首先,我使用 eclipse 定期安装它,然后是 adb shell:

> su
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
# cat /data/app/filename.apk > /system/app/filename.apk
# mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
# reboot

关于android - 希望使用命令行或在应用程序中启用和禁用(切换)ADB 或 USB 调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11314145/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com