2017-01-05 19 views
1
$ adb shell 
# mkdir data/local/tmp/testjars 
# exit 

这工作正常,并给出没有错误,但是当我做:/系统/ bin/sh的:亚行:未发现

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

我得到的错误:

/system/bin/sh: adb: not found 

什么我错过了吗?我怎样才能解决这个问题?

UPDATE


IM在虚拟设备的Nexus 5)部署我的应用程序。

Android Studio 2.2.3
Build #AI-145.3537739, built on December 2, 2016
JRE: 1.8.0_76-release-b03 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

Windows 10

回答

2

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

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

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

+0

嗨@JonasKöritz。我刚刚更新了我的问题。我在Windows 10上使用Android Studio。我尝试了您的建议,但没有成功。我也在虚拟设备上部署我的应用程序。 –

+0

你在哪里输入'adb push /app/build/outputs/apk/app-debug.apk data/local/tmp/testjar/load.apk'? '$'意味着这是一个linux(或者Android)shell。 –

+0

我在两者上都尝试过:在Android Shell上以及在主机上执行它。在主机上,它给出错误:'adb:error:failed to copy'F:/projects/android/android_studio/plugins/dexclassloader/PluginSample/app/build/outputs/apk/app-release-unsigned.apk'to 'data/local/tmp/testjar/app-release-unsigned.apk':secure_mkdirs失败:没有这样的文件或目录' –

2

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

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

这样

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外壳”中键入“adb”命令。 Android操作系统基于linux操作系统。 “adb shell”命令是进入android设备的os终端环境的方式。在这种环境下,你不能使用“adb”命令。由于“adb”是“Android调试桥”。桥意味着“adb”命令有助于将您的工作环境连接到android设备的操作系统。因此,在输入“adb shell”后,你在android设备的操作系统中,并且不能使用“adb”命令。

这是我的情况。

User-MacBook-Pro:~ user$ adb shell 

[email protected]:/ $ adb 

/system/bin/sh: adb: not found 

127|[email protected]:/ $ exit 

User-MacBook-Pro:~ User$ 

BR

+0

Hi @Jinwoo Kim。我刚刚更新了我的问题。我在Windows 10上使用Android Studio。我尝试了您的建议,但没有成功。我也在虚拟设备上部署我的应用程序。 –

+0

@ Program-Me-Rev I更新了答案。核实。 –