$ 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位服务器VMWindows 10
答案 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