无法在android设备而不是android模拟器上直接测试android应用程序

无法在android设备而不是android模拟器上直接测试android应用程序,android,deployment,android-emulator,titanium-mobile,Android,Deployment,Android Emulator,Titanium Mobile,您好,我已经开发了一个小型Android应用程序。我想在Android设备上运行它。我复制了.apk并在我的Android设备上运行。它工作正常。但我不想每次更改代码时都复制.apk文件。我只想通过Tianium run-->Android设备选项直接在我的移动设备上运行它。我已经为我的设备设置了供应商id装置。当我试图在android设备上运行我的应用程序时,它给了我设备权限不足的错误。我在我的设备上保持USB调试启用。我还试图解决亚洲开发银行的问题 cd android-sdk-linux-

您好,我已经开发了一个小型Android应用程序。我想在Android设备上运行它。我复制了.apk并在我的Android设备上运行。它工作正常。但我不想每次更改代码时都复制.apk文件。我只想通过Tianium run-->Android设备选项直接在我的移动设备上运行它。我已经为我的设备设置了供应商id装置。当我试图在android设备上运行我的应用程序时,它给了我设备权限不足的错误。我在我的设备上保持USB调试启用。我还试图解决亚洲开发银行的问题

cd android-sdk-linux-linux/tools 
./adb kill-server 
./adb start-server 
./adb devices
但它告诉我

List of devices attached 
????????????    no permissions

我签入DDMS,但它不显示我的设备。它显示我的模拟器,但不显示设备。它显示一个名为????????未知,所以是否有办法解决此问题。谢谢。

您没有访问设备的正确权限。 尝试将类似的内容添加到
/etc/udev/rules.d
中的某些文件(通常是51个android.rules):

SUBSYSTEM=="usb",SYSFS{idVendor}=="XXXX",MODE="0600",SYMLINK+="mydev-%n",OWNER="my-user-name"
我的用户名
XXXX
替换为您可以使用的设备的供应商id

   $ lsusb
然后重新启动udev

   $ sudo service udev restart
最后,将供应商id添加到
~/.android/adb_usb.ini

 # USB devices
 0xXXXX

编辑-新答案

我重新打开了这个问题,在root模式下启动adb有些可疑。所以,当我插入索尼Z1时,我运行

mdzeko@pc ~ $ lsusb 
...
Bus 001 Device 011: ID 0fce:519e Sony Ericsson Mobile Communications AB 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
...
自动地,我看到供应商ID连接到索尼Z1。它说
0fce
是它的供应商id。查看谷歌页面,我注意到索尼和索尼爱立信之间存在差异

检查我的udev规则,发现里面有索尼的供应商id(是
054c
),而不是索尼爱立信(是
0fce
)。在udev中更改该代码使其工作

mdzeko@pc ~ $ cat /etc/udev/rules.d/51-android.rules 
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", GROUP="plugdev"
旧答案

好的,经过几个小时的研究,我找到了一个解决方案。也许这也适用于你

我在LinuxMint上使用索尼Z1。它给了我同样的错误时,试图连接到usb。这就是我所做的:

  • 通过以下非常简单的教程添加
    udev
    规则

  • 运行adb kill服务器

  • 设备上的开发者选项中可能有一个选项,上面写着
    撤销USB调试授权…
    。你可以接受这个选择。如果没有这样的选项,没关系,请跳到下一步

  • 运行
    sudo-adb-usb
    sudo-adb启动服务器

  • 如果没有保存使用该设备的权限,您将在该设备上出现一个对话框,要求您授予该权限。选择授予您权限的选项

  • 就这样,你的设备应该可以工作了。如果仍然没有,请在下面留言,我将尝试了解原因


    另外,我承认将adb作为root运行是一种不好的做法,但没有它,我无法让它工作。通过切换到非根adb,我再次遇到相同的错误。

    我知道这是一个愚蠢的解决方案,但请尝试重新启动手机。这在我身上发生过很多次,但当我重新启动手机并将手机连接到eclipse时,它显示了我的设备。感谢Rashmi的快速回复。我也尝试了该解决方案,但它对我不起作用,我使用的是Tianium studio而不是eclipse。是否需要从根目录启动eclipse或Tianium studio。我使用的是Ubuntu 10.4,所以需要任何驱动器?在您的设备上,请转到设置->应用程序->开发->检查安装允许来自其他来源,并且启用了应用程序调试的第二次检查谢谢Vinay。在我的设备中,没有其他来源的选项检查安装;但我已经启用了应用程序调试选项并允许模拟位置。您好,米兰,谢谢您的回复。我尝试了您的解决方案,但仍然不适用于我。我用我的供应商id修改了51-android.rules文件,并在adb_usb.ini文件中添加了供应商id。但它不起作用。尝试确定哪个部分不起作用:查看是否检测到您的设备,如果创建了设备节点等。