当我试图在我的 Ubuntu 机器上使用 adb 访问我的 OnePlus 6T 时,现有的答案都不适合我。然后我发现,在关闭 USB 调试的情况下,笔记本电脑正在从手机安装一个只读分区,其中包括一个 Windows 可执行文件、一个 Mac OSX .dwg 文件和一个 linux .sh 脚本。运行 linux 脚本并重新启用 USB 调试,然后允许 adb 检测到手机。
为了完整起见,我将粘贴下面的 shell 脚本,但它所做的主要是将字符串添加0x2a70到文件中~/.android/adb_usb.ini,然后重新启动 adb 守护程序。
# adb configuration script
PATH=$PATH:/bin:/sbin:/usr/sbin
ANDROID_HOME=~/.android
ANDROID_CONFIG=~/.android/adb_usb.ini
CUST_VID="0x2a70"
if [ -e $ANDROID_HOME ] ; then
echo "android home is exist!"
else
echo "creat android home!"
mkdir $ANDROID_HOME
fi
grep $CUST_VID $ANDROID_CONFIG 2>/dev/null
if [ $? -eq 0 ] ; then
echo VID $CUST_VID is already configured..
echo "adb should be OK!"
exit 0
else
echo config adb ...
echo $CUST_VID >> $ANDROID_CONFIG
fi
adb kill-server
if [ $? -eq 0 ] ; then
echo "OK! You can use adb now!"
exit 0
else
echo "try sudo exec adb.."
sudo adb kill-server
if [ $? -eq 0 ] ; then
echo "OK! You can use adb now!"
exit 0
else
echo "Please do command \"adb kill-server\""
fi
fi
exit 0