【发布时间】:2015-04-26 14:20:51
【问题描述】:
我有一个根深蒂固的摩托罗拉 Defy+,运行由 Quarx 创建的 Cyanogenmod v11 自定义 ROM(每晚构建)。使用 Android Studio Workspace,(ASW) v.1.1.0,当我尝试在此设备上调试时,我得到 p>
????????????[null]
在选择设备窗口中列出,Logcat窗口显示
insufficient permissions for device
我真的很想将此设备和 ROM 用于调试目的。
当我从命令行输入lsusb 时,
Bus 002 Device 002: ID 22b8:431d Motorola PCS
这是摩托罗拉设备的正确设备 ID。我已经在/etc/udev/rules.d/ 中安装了 51-android.rules 和 71-android.rules,并在这些文件中使用了正确的摩托罗拉 ID。
我也尝试过Revoke USB debugging authority,从设备上的Developer Options,没有成功。
我还没有尝试以 root 身份运行 ASW,希望可能有其他选择;有吗?
更新:我能够通过
进入并访问 ADBuvachem-gsmith2:/home/greg/Android/Sdk/platform-tools # ./adb
然后我做了一个终止服务器,对 root 用户做了一个 SU 并重新启动了服务器。然后我尝试从 Android Studio 连接到设备。在设备上收到一条关于接受来自 PC 的 RSA 密钥的消息,说“是”,然后能够将应用程序部署到设备。回到我最初的问题,是否有另一种方法可以在不以 root 身份登录的情况下访问此设备?似乎手机文件系统存在权限问题,阻止了这种情况......
更新 #2 这里的核心问题是权限问题。尽管以 root 身份运行 ADB 将允许访问 rooted Android 设备,但更好的解决方案是更改此设备的 udev 文件中的权限...将 664 重置为 666,(请参阅下面的答案)。这允许 PC 访问设备上的文件系统。
【问题讨论】:
-
我知道这可能是一种简单的方法,但是您是否在开发人员工具中启用了 USB 调试?之前可以尝试 adb root 。还有和 abd remount
-
@BogdanV。是的,USB 调试已启用。请扩展您最后两句话中的建议。谢谢。
-
转到终端并输入“adb devices”。如果您看到您的设备,那么 Android 调试桥 (adb) 会看到该设备。如果是这样,请键入“adb root”以使 adb 能够以 root 身份发出 adb shell 命令。然后执行 adb remount 以访问设备上的整个文件系统。如果还是不行,那么问题出在 Android Studio
-
@BogdanV。以用户或 root 身份登录时,找不到 Android 调试桥 (ADB)。我尝试了“adb devices”以及“./adb devices”,但没有返回“没有这样的文件或目录”。目前我正在使用 Android Studio 调试 Panasonic Toughpad,没有任何问题。
-
这很奇怪,因为 adb 是一个基本的 Android SDK 工具。也许您没有将android sdk平台工具目录添加到路径中。但无论如何,如果您有解决方案,请使用它。
标签: android android-studio opensuse cyanogenmod