今天写了一个防止程序多次启动的测试程序,想在Android系统上验证一下效果,故用USB数据线将公司的海尔Pad连接到Ubuntu上,准备用android-sdk-linux_x86内的adb工具将编译好的可执行程序push到海尔Pad上,但是执行adb devices命令的时候告诉我设备存在,但没有权限,返回的结果如下所示。
List of devices attached ???????????? no permissions
Google之后,发现原来adb server需要以管理员权限启动,估计是因为该服务中的某些涉及底层的功能需要管理员权限才能执行成功。于是执行了如下命令:
trevor@trevor-PC:~/Android/android-sdk-linux_x86/tools$ ./adb kill-server trevor@trevor-PC:~/Android/android-sdk-linux_x86/tools$ sudo ./adb start-server [sudo] password for trevor: * daemon not running. starting it now on port 5037 * * daemon started successfully * trevor@trevor-PC:~/Android/android-sdk-linux_x86/tools$ ./adb devices List of devices attached 0123456789ABCDEF device trevor@trevor-PC:~/Android/android-sdk-linux_x86/tools$
第一条命令用来杀死当前正在运行的server, 第二条命令则以管理员权限启动了新的server,于是第三条命令查看所有已连接设备的时候不再提示没有权限。这次设备就被正确识别了。接下来就可以使用adb shell命令登陆设备后台,用adb push命令想设备上发送文件了。
除非注明,文章均为CppLive 编程在线原创,转载请注明出处,谢谢。