Adb Android không tìm thấy


103

Khi tôi chạy ứng dụng Android của mình từ eclipse, tôi gặp lỗi này.

Unexpected exception 'Cannot run program "/home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb": error=2 No such file or directory' while attempting to get adb version from /home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb

SAO CHÉP KHỎI Lỗi Eclipse

[2012-11-26 13:43:08 - adb] Unexpected exception 'Cannot run program "/home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb": error=2, No such file or directory' while attempting to get adb version from '/home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb'

Tuy nhiên, adb của tôi chính xác ở vị trí mà nó nói rằng nó không phải.

Điều gì là sai và làm cách nào để sửa lỗi này?

Tôi cd vào thư mục có adb là ( /home/antz/Development/adt-bundle-linux/sdk/platform-tools/) và tôi đã nhập vào adb và nó nói

antz@antz-90X3A:~/Development/adt-bundle-linux/sdk/platform-tools$ ls  
aapt  aidl  dexdump  fastboot  llvm-rs-cc  renderscript  
adb   api   dx       lib       NOTICE.txt  source.properties  
antz@antz-90X3A:~/Development/adt-bundle-linux/sdk/platform-tools$ adb  
bash: /home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb: No such file or directory

adb có màu xanh lục có nghĩa là nó là một tệp thực thi, đúng không?

ví dụ, dx cũng có màu xanh lục và khi tôi nhập dx vào dấu nhắc lệnh, nó hoạt động ... có chuyện gì với adb?


Bạn có chắc nó được platform-tooldsvà không platform-tools?
Raghav Sood

/ home / antz / Development / adt-pack-linux / sdk / platform-toolds / adb CÓ một chữ "d" không cần thiết trong đó!
petey

xin lỗi thats một lỗi đánh máy của tôi về bài đăng này
ealeon

bạn đã kiểm tra quyền của tệp / thư mục chưa? Bạn đang làm việc trên Linux, chắc chắn người dùng của bạn có thể thực sự truy cập thư mục đó và chạy adb
WarrenFaith

Câu trả lời:


143

Trên Linux, đã từng platform-toolscó gói Android SDK . Nó hoạt động tốt trên các hệ thống. Nhưng trên các hệ thống, bạn cần phải cài đặt thủ công thư viện IA32.adb32bit32bit64bit

Đối với các bản phân phối dựa trên Debian, hãy thử cách này:

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

Nhưng vì v24.0 platform-toolschỉ chứa các 64bittệp nhị phân - nên 32bitthư viện không còn bắt buộc.


cảm ơn điều này đã làm cho nó hoạt động. tại sao họ không đưa bước này vào hướng dẫn?
ealeon

4
Google đã cung cấp thông tin. Xem developer.android.com/sdk/installing/index.html Nhấp vào Thông tin cho các nền tảng khác và sau đó khắc phục sự cố ubuntu.
Robin Chander

5
@RobinChander, hài hước rằng Linux 64-bit ADT bó đi kèm với một adb 32 Bit dưới adt-bundle-linux/sdk/platform-tools/adb... Đây cũng là một vấn đề đang được phân phối khác, ví dụ như Fedora 17.
maxschlepzig

5
Tôi không thể cài đặt IA32 libs! Tại sao?
gtr123 24/12/12

1
Tôi gặp lỗi tương tự và sau đó tôi đã thực hiện apt-get install ia32-libs nhưng bây giờ làm cách nào để khởi động lại cấu hình của các công cụ ADT trong eclipse? Tôi đang chạy Ubuntu 12.04
CodeKingPlusPlus

112

Bạn không thể cài đặt ia32-libs nữa, vì vậy bạn phải có các thư viện 32 bit riêng lẻ mà adb cần

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

Và đối với Ubuntu 13.10:

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1

Đây có phải là một phiên bản cụ thể của Linux không? Nếu vậy, bạn có thể đưa nó vào câu trả lời của bạn.
CatShoes

Lưu ý: nếu cài đặt không thành công (phụ thuộc không tốt), hãy thử cài đặt ứng dụng này. Nó sẽ đề nghị bạn hạ cấp một số thủ thư để cài đặt thành công.
Ben Usman

4
Tôi cũng cần cài đặt lib32z1 (Ubuntu 13.10)
AntonS

E: Gói 'lib32stdc ++ 6' không có ứng cử viên cài đặt E: Gói 'lib32gcc1' không có ứng cử viên cài đặt E: Không thể xác định vị trí gói lib32ncurses5
chữ số thợ sửa ống nước

Vâng Cảm ơn rất nhiều :) Làm việc tốt trên ubuntu 13.10
Aukhan

30

Bạn phải cài đặt glibc 32 bit:

trong máy 64 bit Fedore

# yum install glibc.i686

Điều này loại bỏ thông báo 'không có tệp hoặc thư mục như vậy' gây hiểu lầm khi cố gắng thực thi một tệp nhị phân 32 bit. Với điều đó, hệ thống Fedora 64 bit có khả năng thực thi các tệp nhị phân 64 bit.

Điều này cũng loại bỏ thông báo 'không phải là tệp thực thi động' gây hiểu lầm của ldd khi gọi ldd trên tệp thực thi động 32 bit.

Bây giờ bạn phải cài đặt các thư viện 32 bit còn thiếu, các tệp nhị phân trong adt-pack-linux / sdk / platform-tools được liên kết với:

# yum install zlib.i686 libstdc++.i686 ncurses-libs.i686 libgcc.i686

Đó là nó.


3
Thật vui khi thấy một giải pháp cho người dùng Fedora!
Kyle

24

Tôi đang sử dụng Ubuntu 14.04 LTS 64-bit và mã sau phù hợp với tôi ;

sudo apt-get install lib32z1 lib32z1-dev
sudo apt-get install lib32stdc++6


Tóm lược:

Sau khi tôi thử apt-get install ia32-libs , nhưng công cụ gói apt gợi ý rằng;

Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or is only available from another source.

However the following packages replace it:
  lib32z1 lib32ncurses5 lib32bz2-1.0

Sau đó, mã trên hoạt động cho tôi.


Tôi đã thử giải pháp của bạn nhưng vấn đề vẫn xảy ra với tôi.
tvshajeer

1
Làm việc cho một Ubuntu 16
Abduhafiz

9

Điều này hoạt động tốt trong Ubuntu 13.04 phiên bản 64bit

Bạn không thể cài đặt ia32-libs nữa, vì vậy bạn phải có các thư viện 32 bit riêng lẻ mà adb cần

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

Thử nghiệm. Hoạt động tốt trên 13.04 64bit. Cảm ơn rất nhiều: D
Blaze Tama

Trên máy Ubuntu 14.04 64 bit của tôi, lib32tinfo5 phụ thuộc cũng đã được cài đặt tự động.
faizal

8

Trên Arch linux:

Bật kho lưu trữ "multiarch" trong /etc/pacman.conf

sau đó chạy:

root@box#pacman -Syu

root@box#pacman -S lib32-glibc lib32-zlib lib32-libstdc++5 lib32-ncurses lib32-gcc-libs

Điều này đã làm việc cho tôi. Đó là multilibkho lưu trữ mà người ta phải kích hoạt.
paldepind

4

Tôi đang chạy Ubuntu 12.04 LTS và lệnh này là thứ duy nhất phù hợp với tôi:

sudo apt-get install lib32z1 lib32z1-dev

Khi tôi chạy điều đó từ một dòng lệnh, tôi có thể tạo tệp R.java (dấu hiệu cho thấy có điều gì đó trong cài đặt công cụ SDK Android của bạn không ổn) bằng cách thực hiện Dự án> Làm sạch trong Eclipse.


3

Đối với đa tìm kiếm Debian 7.0, hãy thêm:

dpkg --add-architecture i386
apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

2
Điều này dường như không liên quan gì đến câu hỏi.
Tên màn hình bí truyền

Nó hoạt động. Nhưng với các gói libc6: i386 và libstdc ++ 6: i386 là đủ
Jorge Sainz


2

Bạn cần cài đặt gói ia32-libs (thư viện IA32) để gói này hoạt động.


2

Tôi đã làm điều đó trong Linux Mint 12 của mình:

   chmod +x PATH/adb


2

Từ CÁCH THỨC Multiarch Ubuntu :

Một số người dùng sử dụng Android SDK có thể gặp sự cố khi cố chạy các công cụ xây dựng hoặc công cụ nền tảng trên nền tảng amd64 bit. Để thay thế cho ia32-libs, người dùng sẽ ổn chỉ cần cài đặt các thư viện sau:

dpkg --add-architecture i386
aptitude update
aptitude install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386

1

Cài đặt các thư viện này trong linux apt-get install ia32-libs


1

Chạy các lệnh dưới đây. Nó đã làm việc cho tôi

sudo apt-get dist-upgrade
sudo apt-get install ia32-libs

1

trong ubuntu 64 bit [12.04] - [14.10] và Hệ điều hành sơ cấp 64 bit

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386

1

Đôi khi chỉ là vấn đề khi cấp cho các tệp sdk các quyền cần thiết.

sudo chmod -R +x /path/to/android-sdk-linux

Khởi động lại Android Studio và xem điều đó có khắc phục được không.

Các vấn đề về quyền thường xảy ra khi bạn sao chép / di chuyển tệp sdk từ phân vùng NTFS hoặc sao chép từ máy tính khác.


1

sudo apt install adb

adb không được cài đặt trong máy tính của bạn

Thử cái này.


0

http://abhinavasblog.blogspot.sg/2013/10/working-with-ubuntu-1304-and-1310-java.html

blog giải thích độ phân giải cho Ubuntu 13.10 để cài đặt Chrome, Java và Fix Android SDK.


Liên kết đến các tài nguyên bên ngoài được khuyến khích, nhưng hãy thêm ngữ cảnh xung quanh liên kết để những người dùng đồng nghiệp của bạn sẽ biết nó là gì và tại sao nó ở đó. Luôn trích dẫn phần có liên quan nhất của một liên kết quan trọng, trong trường hợp không thể truy cập trang web mục tiêu hoặc chuyển sang trạng thái ngoại tuyến vĩnh viễn. Chỉ cho tương lai, câu trả lời đã được đưa ra. Xem bài viết meta này.
Johannes Stadler

0

Kết hợp chính xác hiện tại cho Arch Linux như sau:

[Phần này không thay đổi] Bỏ ghi chú phần sau trong /etc/pacman.conf:

...
[multilib]
Include = /etc/pacman.d/mirrorlist
...

Sau đó:

sudo pacman -Syu && sudo pacman -S multilib/lib32-libstdc++5 multilib/lib32-zlib

Sự khác biệt với câu trả lời khác là tên gói bao gồm multilib / part ngay bây giờ.

(từ Arch Wiki: Multilib # Enabling , Android # Troubleshooting )

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.