Đang cố gắng thêm adb vào OSX biến PATH


121

Tôi đang cố gắng phát triển cho android và tôi muốn thêm adbvào của tôi PATHđể tôi có thể khởi chạy nó thực sự dễ dàng. Tôi đã thêm các thư mục trước vì một số lý doadb không muốn được tìm thấy. Điều này là rất bực bội. Có ai khác đã gặp vấn đề này trước đây?

Tôi đã tạo một tệp .profilevà thêm phần sau vào nó.

export PATH = ${PATH}:/Users/simon/Libs/android-sdk-mac_x86/platform-tools/
export PATH = ${PATH}:/Users/simon/Libs/android-sdk-mac_x86/tools

Khi tôi kiểm tra đường dẫn môi trường của mình, tôi thấy như sau:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Libs/android-sdk-mac_x86/tools:/Libs/android-sdk-mac_x86/platform-tools

Vì vậy, tôi biết rằng nó được thêm vào PATHbiến của tôi . Bây giờ khi tôi cố gắng chạy, adbtôi nhận được rằng nó không được tìm thấy.

-bash: ./adb: No such file or directory

Điều này là rất bực bội. Nó có thể là một vấn đề với quyền? Có ai gặp sự cố này với OSX và Android không?


5
lưu ý: đặt dấu cách trước và / hoặc sau dấu bằng gây ra vấn đề. nó sẽ giống như "export PATH = $ {PATH}: / Users / simon / Libs / android-sdk-mac_x86 / tools"
Ben H

Câu trả lời:


42

Tại sao bạn lại cố chạy "./adb"? Điều đó hoàn toàn bỏ qua biến đường dẫn và chỉ tìm kiếm "adb" trong thư mục hiện tại. Thay vào đó, hãy thử chạy "adb".

Chỉnh sửa: đường dẫn của bạn có vẻ sai. Bạn nói rằng bạn nhận được

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Libs/android-sdk-mac_x86/tools:/Libs/android-sdk-mac_x86/platform-tools

Bạn đang thiếu phần / Users / simon.

Cũng lưu ý rằng nếu bạn có cả tệp .profile và .bash_profile, thì chỉ tệp sau mới được thực thi.


Đã thử cả ./adb và adb .. Không có gì, tôi không biết có gì sai với điều này.
skoko

Adb phải được đặt ở đâu? Kiểm tra xem nó ở đó và nó có quyền thực thi (cd vào thư mục và thực hiện ls -l adb).
LaC

1
Nếu tôi vào thư mục, tôi có thể chạy nó không có vấn đề gì. Đây là đầu ra. -rwxrwxrwx 1 simon nhân viên 179312 28 tháng 2 02:48 adb
skoko

1
Cảm ơn vì câu trả lời này. Hóa ra cả .profile và .bash_profile đều ở đó. Tôi đã có các giá trị trong .profile và yea. Bây giờ nó hoạt động. Cám ơn mấy đứa nhiều.
skoko

1
Hoạt động ngay bây giờ, tôi chỉ có hai hồ sơ. Cái nọ viết cái kia. Nếu ai đó đang làm việc này, hãy sử dụng .bash_profile để chỉnh sửa biến đường dẫn. Tôi đi theo một hướng dẫn khác nhau mà nói để sử dụng .profile
skoko

298

Thêm vào PATH cho mỗi lần đăng nhập

Phiên bản kiểm soát toàn bộ :

trong thiết bị đầu cuối của bạn, điều hướng đến thư mục chính

CD

tạo tệp .bash_profile

chạm vào .bash_profile

mở tệp bằng TextEdit

open -e .bash_profile

chèn dòng vào TextEdit

export PATH = $ PATH: / Users / username / Library / Android / sdk / platform-tools /

lưu tệp và tải lại tệp

nguồn ~ / .bash_profile

kiểm tra xem adb đã được đặt thành đường dẫn chưa

phiên bản adb


Một phiên bản lót

Phát ra lệnh xuất của bạn và chuyển hướng đầu ra được nối vào tệp .bash_profile và khởi động lại thiết bị đầu cuối. (chưa xác minh điều này nhưng sẽ hoạt động)

echo "export PATH = $ PATH: / Users / username / Library / Android / sdk / platform-tools / sdk / platform-tools /" >> ~ / .bash_profile


2
Bước áp chót trong bước trên là "Khởi động lại thiết bị đầu cuối" :)
Brijesh Thakur

14
Khởi động lại thiết bị đầu cuối không nên cần thiết, tải lại file nên là đủ
Tobrun

Cập nhật: Có thể nó không hoạt động với bạn vì bạn đang sử dụng nhiều tab. Mỗi tab trên thiết bị đầu cuối của bạn đều có phiên riêng. Vì vậy, hãy tải lại .bash_profile trong tab của lệnh "phiên bản adb".
Tobrun

2
có thể sử dụng xuất PATH = $ PATH: $ HOME / Library / Android / sdk / platform-tools /, chỉ bằng cách sao chép và dán và không cần thay đổi tên người dùng
Mohit

1
Tôi đã xóa sdk/platform-tools/bit ở cuối, vì điều này đã đưa ra cho tôi cảnh báo bash trong Android Studio.
Ryan R

65

Thay thế: Cài đặt adb một cách dễ dàng

Nếu bạn không muốn phải lo lắng về đường dẫn của mình hoặc cập nhật adb theo cách thủ công, bạn có thể sử dụng homebrew để thay thế.

brew cask install android-platform-tools


1
Rất nhiều, tốt hơn rất nhiều, sau đó cố gắng chạy với PATH, .bash_profile, vv .. Cảm ơn!
smets.kevin

vâng c [_] ~ ᒡ ◯ ᵔ ◯ ᒢ
Adam Mendoza.

FYI, điều này hiện gây ra lỗi: Lỗi: Không có công thức có sẵn với tên "android-platform-tools". Sử dụng: pha cài đặt Caskroom / cask / android-platform-tools thay thế
The Hungry Androider

@The Hungry Androider - đã sửa nó
brismuth

Tôi chưa thử điều này nhưng tôi đang tự hỏi liệu người ta có cài đặt Android Studio cũng như với Homebrew hay không, tự hỏi liệu điều này có thể tạo ra một phiên bản không đồng bộ hóa trong tương lai hay không ... chỉ là suy nghĩ
Kinergy

27

Trên Macbook Pro của mình, tôi đã thêm các dòng xuất vào ~ / .bash_profile, không phải .profile.

ví dụ

export PATH=/Users/me/android-sdk-mac_86/platform-tools:/Users/me/android-sdk-mac_86/tools:$PATH

buồn cười. Tôi đã mở tập tin đó ... Dòng chính xác này đã ở trong đó. Tôi nghĩ rằng nhật thực đã thêm điều đó trong khi cài đặt trình cắm?
skoko

Nó có thể, mặc dù tôi đã tự mình thêm vào.
David Snabel-Caunt

Theo johnnywey.wordpress.com/2008/04/17/fixing-bash-profile-in-os-x bạn có thể có cấu hình mâu thuẫn
David Snabel-Caunt

Tôi nghĩ đó chính xác là vấn đề. Một ứng dụng khác (tôi nghĩ MacPorts) đã tạo .profile
skoko

1
Đừng quên khởi động lại thiết bị đầu cuối sau khi bạn thêm vào PATH.
Adam Johns

13

Chỉ cần mã hóa bất kỳ ai tìm thấy bài đăng SO này khi sử dụng Android Studio, bao gồm SDK có một phần của gói Ứng dụng (trên Mac OSX).

Vì vậy, như @davecaunt và @ user1281750 đã lưu ý nhưng hãy chèn dòng sau vào .bash_profile

export PATH=/Applications/Android\ Studio.app/sdk/tools:/Applications/Android\ Studio.app/sdk/platform-tools:$PATH

Tuyệt vời! Thx scottyab!
rilar

Ngoài ra, nó nằm trong Users / [user] / Android / sdk / platform-tools .... Tôi không thích liên kết đến thư mục Ứng dụng (có lẽ đó chỉ là tôi).
Adam

13

Câu trả lời cho MAC nên là:

  1. Mở bash_profile của bạn bằng các lệnh sau: open ~/.bash_profile

  2. Trong trường hợp tệp hồ sơ cơ sở không tồn tại, hãy tạo một tệp mới bằng lệnh sau: touch .bash_profilesau đó lặp lại giai đoạn 1.

  3. Thêm dòng sau: export PATH=/Users/"YOURUSER"/Library/Android/sdk/platform-tools:$PATH

  4. Khởi động lại cửa sổ bash của bạn và kiểm tra bằng cách nhập adb shell

Chúc may mắn! :-)


9

Trong thiết bị đầu cuối của bạn, điều hướng đến thư mục chính

cd
create file .bash_profile

touch .bash_profile
open file with TextEdit

open -e .bash_profile
insert line into TextEdit

export PATH=$PATH:/Users/username/Library/Android/sdk/platform-tools/
save file and reload file

source ~ / .bash_profile rất quan trọng, hãy kiểm tra xem adb có được đặt thành đường dẫn không

adb version

Nó sẽ ổn bây giờ.


8

Tôi sử dụng zsh và Android Studio. Tôi sử dụng một biến cho đường dẫn Android SDK của mình và định cấu hình trong tệp ~/.zshrc:

export ANDROID_HOME=/Applications/Android\ Studio.app/sdk
export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH"

Lưu ý: Đảm bảo không bao gồm dấu ngoặc kép đơn hoặc dấu ngoặc kép xung quanh đường dẫn được chỉ định. Nếu bạn làm vậy, nó sẽ không hoạt động.


7

Android Studio v1.2 cài đặt công cụ adb trong đường dẫn sau:

~/Library/Android/sdk/platform-tools/adb

Vì vậy, nó diễn ra như thế này:

  1. Chạy thiết bị đầu cuối
  2. chạy adb versionvà mong đợi một đầu ra lỗi
  3. touch ~/.bash_profile
  4. open ~/.bash_profile
  5. thêm đường dẫn trên vào trước 'đóng': $ PATH
  6. source ~/.bash_profile
  7. chạy adb versionvà mong đợi một đầu ra

Chúc may mắn!


3

Có vẻ như bạn vẫn đang cố gắng thực thi adbvới ./adb. Điều đó yêu cầu trình bao chạy chương trình có tên adb trong thư mục làm việc hiện tại .

Hãy thử adbmà không cần ./.


Đã thử điều đó quá. Không có gì. Điều này thực sự khiến tôi phát điên.
skoko

@ user569594: bạn có khởi động lại trình bao sau khi chỉnh sửa .profilekhông? (tức là, nếu bạn echo $PATHtrước đây adb, bạn có thấy các thư mục mới không?)
sarnold

vâng, tôi đã đề cập đến điều đó trong câu hỏi. Nó hiển thị trong tiếng vang, bash vì một số lý do KHÔNG THỂ XEM ĐƯỢC.
skoko

@ user569594: xin lỗi, phải hỏi, tôi đã thấy mọi người chỉnh sửa script khởi động shell của họ, kiểm tra các thay đổi của họ bằng cách khởi động shell mới và quên khởi động lại shell hiện tại của họ và tự hỏi nó không thành công ở đâu ... :)
sarnold

Vâng, tôi đã chắc chắn khởi động lại. Vấn đề nằm ở chỗ có hai hồ sơ trong danh bạ chính của tôi. A .bash_profile và .profile
skoko

3

Để làm cho thiết bị đầu cuối luôn có tệp ~/.bashrcvà ở đó đặt đường dẫn bạn muốn sử dụng, bằng cách thêm:

export PATH=$PATH:/XXX

trong đó XXX là đường dẫn mà bạn muốn sử dụng.

cho adb, đây là những gì tôi sử dụng:

export PATH=$PATH:/home/user/Android/android-sdk-linux_x86/platform-tools/

(trong đó "người dùng" là tên người dùng của tôi).


1

Tôi đã thêm export PATH=${PATH}:/Users/mishrapranjal/android-sdks/platform-tools/vào cả hai nơi .bash_profile.profileđể đảm bảo rằng nó hoạt động. Tuy nhiên, nó vẫn không hoạt động và sau đó tôi đã xem xét mẹo của sarnold về việc khởi động lại thiết bị đầu cuối và nó hoạt động như một sự quyến rũ. Nó tiết kiệm thời gian của tôi để thêm mỗi lần này vào PATHbất cứ khi nào tôi phải chạy adb. Cảm ơn các bạn.


Thay vì giảm nhãn áp cho thiết bị đầu cuối của bạn, bạn có thể sử dụng lệnh sau để tải lại tệp: " .bash_profile "
Tobrun

0

Nếu ai đó dường như không thể truy cập .bash_profiletệp ở đó để thực hiện bất kỳ Đường dẫn mới nào bạn có các lệnh khác trong tệp đó (như lệnh bí danh) thì hãy thử di chuyển các câu lệnh PATH lên đầu tệp.

Đó là điều duy nhất làm việc cho tôi. Lý do nó hoạt động là do tôi mắc phải một số lỗi chính tả trong các lệnh bí danh của mình và rõ ràng tệp này gây ra lỗi và thoát ra nếu nó gặp sự cố. Vì vậy, đó là lý do tại sao các câu lệnh PATH của tôi không được chạy. Di chuyển nó lên đầu chỉ để nó chạy trước.


0

nhập mô tả hình ảnh ở đây

Giải pháp thứ 2 được giải thích dưới đây. Nhưng khi tôi đóng thiết bị đầu cuối, thay đổi mà tôi đã thực hiện trong biến đường dẫn bị mất. Vì vậy, tôi thích cách đầu tiên hơn!

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.