2017-01-05 42 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更新了答案。覈實。 –