adb pull – >找不到设备

我有一个root用户手机,并以root方式运行adb

我用adb shell成功访问了手机。

我可以浏览directorys,甚至是那些需要root的人。

当我尝试使用时:

adb pull /data/data/my.app.path/databases/mydatabase.db /home/admin/Desktop/ 

我收到以下错误:

 error: device not found 

adb shell保持连接,我可以继续浏览SD卡。

任何人都可以告诉我这个错误来自哪里以及我如何修复它来拉取文件?

  • 从命令行获取设备的Android SDK版本
  • 在android中从adb shell手动挂载SD卡
  • 如何从shell中识别Android设备的分区?
  • 如何解决Android ADB主机设备中未经授权的ADB设备?
  • Android“adbshellinputkeyevent KEYCODE_SEARCH”不起作用
  • 从Android Studio gradle构建访问环境variables
  • 如何使用ADB命令检测正在运行的应用程序
  • Android上的C ++命令行应用程序?
  • adb pull期间,请adb pull shell。

    似乎没有人提供解释。

    该错误与以root身份运行的adb无关。 在Android中从shell内部运行adb pull需要将Android设备(运行adb服务器)连接到主Android设备作为slave,这当然不存在,因此出现错误。

    但是,如果您通过OTG将主要Android设备连接到另一台设备并且开始充电(成为从属设备),则可以从Android内部成功运行该命令。 通过这种方式,您实际上可以从主Android内部执行adb shell

    否则,您可以在设备或其他设备上以TCP模式运行ADB,并从主设备的shell内部进行adb connect 连接到localhost或其他设备的shell。

    即使这样,你的命令adb pull /data/data/my.app.path/databases/mydatabase.db /home/admin/Desktop/也会失败,因为Android中没有/home目录概念,因此,目的地只是在Android中不存在。

    虽然您已经知道,但是您必须回到PC的shell,以便可以将主设备视为从设备或服务器,并且您的命令将成功运行(读者:此命令需要root才能运行)。

    你可以试试:

     adb wait-for-device pull /data/data/my.app.path/databases/mydatabase.db /home/admin/Desktop/ 

    这样adb就会等待你的设备连接。 这可能会有所帮助,但我不确定。

    不要使用’adb shell pull’,而是:

     adb pull