2013-12-11 25 views
10

Tôi vừa có một máy tính Ubuntu hoàn toàn mới và tôi đang cố gắng thiết lập Android SDK. Tôi khá mới mẻ với Unix nên tôi xin lỗi nếu tôi đã làm một sai lầm ngớ ngẩn.'Không có lệnh' adb 'tìm thấy' lỗi trên Ubuntu

Tôi đã làm theo các hướng dẫn được đưa ra here, tất cả các cách để thêm tệp 'Quy tắc'. Bây giờ nếu tôi thử adb devices trong thiết bị đầu cuối, nó mang lại cho tôi 'Không có lệnh' adb 'tìm thấy' lỗi và hỏi nếu tôi đã thực hiện một lỗi chính tả.

@USER:~/android-sdk-linux/platform-tools$ ls 
NOTICE.txt adb api fastboot source.properties systrace 
@USER:~/android-sdk-linux/platform-tools$ adb devices 
No command 'adb' found, did you mean: 
Command 'cdb' from package 'tinycdb' (main) 
Command 'gdb' from package 'gdb' (main) 
Command 'dab' from package 'bsdgames' (universe) 
Command 'zdb' from package 'zfs-fuse' (universe) 
Command 'kdb' from package 'elektra-bin' (universe) 
Command 'tdb' from package 'tads2-dev' (multiverse) 
Command 'pdb' from package 'python' (main) 
Command 'jdb' from package 'openjdk-6-jdk' (main) 
Command 'jdb' from package 'openjdk-7-jdk' (universe) 
Command 'ab' from package 'apache2-utils' (main) 
Command 'ad' from package 'netatalk' (universe) 
adb: command not found 

Tôi đã tìm kiếm thông qua a couple of questions on StackOverflow và một số đề nghị tôi sử dụng apt-get install ia32-libs lệnh để nhận được một số thư viện 32-bit. Tuy nhiên, tôi đang ở trên một máy 64-bit, do đó không chắc chắn cho dù tôi nên đi cho điều đó hay không.

Một vấn đề lạ khác mà tôi nhận thấy là, ngay cả khi tôi điều hướng đến thư mục platform-tools và thực hiện lệnh adb devices, tôi cũng gặp lỗi tương tự. Vì vậy, tôi có thể thiếu một cái gì đó khác ở đây chứ không phải là không chính xác thiết lập mục nhập PATH.

Tôi đã thử cả hai tệp ADB BUNDLE (tệp .zip) và SDK (tệp .tgz) từ download page và hoàn tất tất cả các bước được đề cập ở trên nhưng có cùng lỗi.

Tôi đang sử dụng Ubuntu 12.04 LTS.

+1

Các thư mục hiện không có trong bạn '$ PATH'. – Santa

+0

echo $ PATH cho tôi điều này:/usr/lib/lightdm/lightdm:/usr/local/bin:/usr/bin:/bin ---> Vậy làm thế nào điều đó quan trọng nếu thư mục hiện tại không có trong PATH của tôi. lệnh 'adb' sẽ hoạt động nếu tôi trực tiếp vào thư mục/thư mục đó, phải không? –

+0

Khi bạn khởi động một lệnh như vậy, trình bao sẽ chỉ tìm kiếm nó trong '$ PATH'. Nó không phải là ngầm định rằng thư mục hiện tại cũng được xem xét. Nếu bạn muốn hành vi đó, bạn cũng cần thêm thư mục hiện tại ('.') vào' $ PATH'. – Santa

Trả lời

1

Tôi không chắc chắn dòng này đã làm gì và tại sao tôi phải làm điều đó ('các blog nói rằng một số thư viện 32-bit của nó và tôi đang ở trên một máy 64-bit). Nhưng có vẻ như nó đang làm việc cho tôi.

sudo apt-get install ia32-libs 

Khi tôi thực hiện lệnh này, nó đã cài đặt/thêm một số thứ trong khoảng 5 phút (nghĩa đen) và sau đó mọi thứ hoạt động.

Kính trọng, Rumit

+0

Điều này bổ sung thêm thư viện hỗ trợ cần thiết để chạy các chương trình 32 bit trên Linux 64 bit. –

+0

Chạy vào cùng một vấn đề với adb đang hiện diện nhưng không được thực thi trên phiên bản Docker của Ubuntu. Điều này đã không khắc phục được vấn đề ngay lập tức, nhưng nó chỉ cho tôi đi đúng hướng! –

25

Bạn đang ở đúng thư mục nhưng thư mục hiện tại không nằm trong đường dẫn tìm kiếm lệnh của trình bao.

Hãy thử

./adb 

Cũng tìm kiếm Google cho làm thế nào để thiết lập biến $ PATH trong bash

Loại sau đây vào thiết bị đầu cuối của bạn (từ URL help.ubuntu.com của bạn) - nó sẽ tạm thời thêm danh bạ công cụ android vào PATH của bạn cho vỏ rằng/terminal

export PATH=${PATH}:~/android-sdk-linux/tools 
export PATH=${PATH}:~/android-sdk-linux/platform-tools 

Bây giờ bạn có thể chạy adb (mà không bị trong dir đúng và không cần dùng ./adb)

Nếu bạn thêm các lệnh đó vào tệp .bashrc của bạn và bắt đầu một terminal/shell mới, bạn sẽ thấy những thay đổi đó là vĩnh viễn.

+0

echo $ PATH cho tôi điều này:/usr/lib/lightdm/lightdm:/usr/local/bin:/usr/bin:/bin ---> Vì vậy, làm thế nào mà vấn đề nếu thư mục hiện tại không có trong PATH của tôi. lệnh 'adb' sẽ hoạt động nếu tôi thực hiện lệnh trực tiếp từ thư mục/thư mục đó, phải không? Ngoài ra, đã thử './adb' nhưng tôi nhận được 'Không có tệp hoặc thư mục nào'. Tôi đã thêm chúng vào PATH của tôi nhưng ngay cả điều đó cũng không hiệu quả. Tôi khởi động lại máy sau tất cả các thay đổi và vẫn gặp vấn đề tương tự. –

+0

Không có thư mục hiện tại nào không có trong đường dẫn tìm kiếm lệnh $ PATH theo mặc định. Bạn có thể thêm nó nhưng nó thường là một ý tưởng tồi. – abasterfield

12

Hãy chắc chắn rằng bạn đã cài đặt:

sudo apt-get install android-tools-adb 

Bây giờ kiểm tra:

sudo adb 

Nó sẽ hiển thị trợ giúp adb.

Bây giờ hãy giết/bắt đầu adb.Sử dụng các lệnh sau:

sudo adb kill-server 
sudo adb start-server 

Cuối cùng, làm:

sudo adb devices 

này nên làm việc.

0

Trong thư mục nền tảng công cụ "adb" có sẵn sau đó làm theo các bước sau:

Set android vars

Ban đầu đi đến nhà bạn và nhấn Ctrl + H nó sẽ cho bạn thấy các file ẩn hiện tìm kiếm tập tin .bashrc , mở nó bằng bất kỳ trình soạn thảo văn bản nào sau đó đặt các dòng bên dưới vào cuối tệp:

xuất ANDROID_HOME =/myPathSdk/android-sdk-linux xuất PATH = $ PATH: $ ANDROID_HOME/tools: $ ANDROID_HOME/platform-tools

Bây giờ Khởi động lại hệ thống

Nó hoạt động!

Các vấn đề liên quan