/ system / bin / sh:adb:not found

时间:2017-01-05 09:29:57

标签: android

$ adb shell
# mkdir data/local/tmp/testjars
# exit

工作正常,没有错误,但是当我这样做时:

$ adb push <project_root_folder>/app/build/outputs/apk/app-debug.apk data/local/tmp/testjar/load.apk

我收到错误:

/system/bin/sh: adb: not found

我错过了什么?我该如何解决这个问题?

更新

我在虚拟设备 Nexus 5 )上部署我的应用。

  

Android Studio 2.2.3
  Build#AI-145.3537739,建于2016年12月2日
  JRE:1.8.0_76-release-b03 amd64
  JVM:JetBrains s.r.o的OpenJDK 64位服务器VM

     

Windows 10

2 个答案:

答案 0 :(得分:3)

看起来您正试图在设备上运行adb。推送文件在主机上启动adb。断开adb shell会话类型exit

你无法在android shell上运行adb push。你必须在主机上运行它。

如果不是这种情况,请发布echo $PATH的输出。

答案 1 :(得分:1)

您应该将android sdk添加到bash_profile shell脚本中。

在帐户的根目录中打开或创建“.bash_profile”。并将你的android sdk路径插入“bash_profile”文件中的路径变量。

像这样

PATH=$PATH:HOME/bin:/usr/app/mysql/bin:/Users/your_account_name/Library/Android/sdk/platform-tools:/Users/your_account_name/Library/Android/sdk/build-tools/25.0.2

输入路径后,保存文件并重新打开命令行应用程序。如果你正确添加该路径,你可以在任何地方执行/调用“adb”命令。

玩得开心!

我听说您正在使用Windows操作系统来开发工作。

所以看起来你在android设备的“adb shell”中输入了“adb”命令。 Android OS基于linux操作系统。 “adb shell”命令是进入android设备的os终端环境的方法。在这个环境中,您不能使用“adb”命令。因为“adb”是“Android Debug Bridge”。 bridge意味着“adb”命令有助于将您的工作环境连接到Android设备的操作系统。所以在输入“adb shell”后,你在Android设备的操作系统中,你不能使用“adb”命令。

这是我的理由。

User-MacBook-Pro:~ user$ adb shell

shell@hammerhead:/ $ adb

/system/bin/sh: adb: not found

127|shell@hammerhead:/ $ exit

User-MacBook-Pro:~ User$ 

BR