否决票是怎么回事?我知道这是一个愚蠢的问题,但这不是一个“好”的问题吗?
我从未做过任何 Android 编程,但我认为为我的早晚通勤组合一个玩具应用程序可能会很有趣。
所以我正在阅读本教程。
当我完成“在真实设备上运行”的步骤(通过 USB 连接并启用 USB 调试)然后单击运行时,我得到以下信息:
任何帮助表示赞赏。
这就是我在我的 Ubuntu 中解决这个问题的方法:
http://ptspts.blogspot.com/2011/10/how-to-fix-adb-no-permissions-error-on.html
将此文件保存在 /tmp/ 为 android.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666"
运行以下命令:
$ sudo cp /tmp/android.rules /etc/udev/rules.d/51-android.rules $ sudo chmod 644 /etc/udev/rules.d/51-android.rules $ sudo chown root. /etc/udev/rules.d/51-android.rules $ sudo service udev restart $ sudo killall adb
断开手机和电脑之间的 USB 数据线。重新连接手机。运行 adb devices 以确认它现在有权访问手机。
将您的应用程序目标设置为android 2.2.3
然后运行,因为您将应用程序目标设置为 4.1 但您的设备仅与 2.2.3 或更低版本的 android 兼容并重新启动您的设备。
如果您使用的是 linux 机器,则必须重新启动 ADB。
这就是我认为你面临的问题。
要重新启动 ADb,请按照以下步骤操作,
1)以root用户身份登录。
2)转到您拥有 android-sdk 文件夹的目录。
3)然后遍历到 platfrom-tools 目录。
4)然后执行以下命令,
./adb kill-server
./adb 启动服务器
现在您将能够看到这样的消息,
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
如果没有再次重复第四步。
插入 USB 并从命令行运行:
$ lsusb
这将为您提供设备(和其他连接的 USB 设备)的 ID。例如,如果您连接了三星 Galaxy S II Skyrocket,您将获得:
Bus 001 Device 010: ID 04e8:685e Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II] (USB Debugging mode)
在这种情况下,供应商 ID 为“04e8”,产品 ID 为“685e”。
然后编辑:
sudo gedit /etc/udev/rules.d/51-android.rules
将以下行添加到其中并保存:
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”04e8″, ATTRS{idProduct}==”685e″, MODE=”0666″
重启udev:
$ sudo restart udev
检查设备是否被识别:
$ adb devices
有时我还必须重新启动 adb:
$ adb kill-server
$ adb start-server
您需要设置您的设备供应商 ID,如 Android Developers 所述:这里
我认为您的 android 设备中未启用 USB 调试。
将其设置在您的设备中
设置 -> 应用程序 -> 开发 -> USB 调试
USB 调试 = 真