Android adb를 찾을 수 없음


103

Eclipse에서 Android 앱을 실행하면이 오류가 발생합니다.

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

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'

그러나 내 adb는 그것이 아니라고 말하는 위치에 정확히 있습니다.

무엇이 잘못되었으며 어떻게 수정합니까?

adb가 ( /home/antz/Development/adt-bundle-linux/sdk/platform-tools/) 인 디렉토리로 cd하고 adb를 입력하면 다음과 같이 표시됩니다.

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는 녹색이며 실행 파일을 의미합니다. 맞습니까?

예를 들어, dx도 녹색이고 명령 프롬프트에 dx를 입력하면 작동합니다 ... adb에 문제가 있습니까?


당신은 그것이 확실 platform-toolds하지 platform-tools?
Raghav Sood

/ home / antz / Development / adt-bundle-linux / sdk / platform-toolds / adb 거기에 불필요한 "d"가 있습니다!
petey

미안해 저에
의해이

파일 / 폴더의 권한을 확인 했습니까? 당신은 확실히 사용자 수 실제로 액세스하는 폴더 및 실행 ADB하게, 리눅스에서 작업
WarrenFaith

답변:


143

리눅스, 안드로이드 SDK의 platform-tools패키지 함유 adb로 사용됩니다 32bit. 32bit시스템 에서 잘 작동했습니다 . 그러나 64bit시스템에서는 IA32 라이브러리를 수동으로 설치해야합니다.

Debian 기반 배포판의 경우 다음을 시도하십시오.

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

그러나 v24.0 platform-tools에는 64bit바이너리 만 포함되어 있으므로 32bit라이브러리가 더 이상 필요하지 않습니다.


감사합니다. 이 단계를 자습서에 포함하지 않은 이유는 무엇입니까?
ealeon 2012

4
Google이 정보를 제공했습니다. developer.android.com/sdk/installing/index.html 다른 플랫폼에 대한 정보를 클릭 한 다음 우분투 문제 해결을 참조하십시오 .
Robin Chander 2012

5
@RobinChander가, 재미있는 것을 리눅스 64 비트 ADT 번들 에서 32 비트 ADB와 함께 제공 adt-bundle-linux/sdk/platform-tools/adb... 이것은 또한 다른 배포판에서 문제가, 예를 들어, 페도라 (17)
maxschlepzig

5
IA32 libs를 설치할 수 없습니다! 왜?
gtr123

1
같은 오류가 발생하고 apt-get install ia32-libs를 수행했지만 이제 Eclipse에서 ADT 도구 구성을 어떻게 다시 시작합니까? 저는 Ubuntu 12.04
CodeKingPlusPlus를

112

더 이상 ia32-libs를 설치할 수 없으므로 adb에 필요한 개별 32 비트 라이브러리가 필요합니다.

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

그리고 Ubuntu 13.10의 경우 :

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

특정 버전의 Linux를 의미합니까? 그렇다면 대답에 넣을 수 있습니까?
CatShoes 2013-06-13

참고 : 설치가 실패하면 (나쁜 의존성) 설치를 시도해보십시오. 설치가 성공할 수 있도록 일부 라이브러리를 다운 그레이드하는 것이 좋습니다.
Ben Usman

4
lib32z1 (Ubuntu 13.10)도 설치해야했습니다
AntonS 2011

E : 'lib32stdc ++ 6'패키지에 설치 후보가 없습니다. E : 'lib32gcc1'패키지에 설치 후보가 없습니다. E : lib32ncurses5 패키지를 찾을 수 없습니다.
digit plumber

그래 고마워요 :) 우분투 13.10에서 훌륭한 작업
Aukhan

30

32 비트 glibc를 설치해야합니다.

Fedore 64 비트 머신에서

# yum install glibc.i686

이렇게하면 32 비트 바이너리를 실행하려고 할 때 '해당 파일 또는 디렉터리가 없습니다'라는 잘못된 메시지가 제거됩니다. 이를 통해 64 비트 Fedora 시스템은 64 비트 바이너리를 실행할 수 있습니다.

또한 32 비트 동적 실행 파일에서 ldd를 호출 할 때 ldd의 잘못된 '동적 실행 파일이 아님'메시지를 제거합니다.

이제 adt-bundle-linux / sdk / platform-tools 아래의 바이너리가 연결된 누락 된 32 비트 라이브러리를 설치해야합니다.

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

그게 다야.


3
Fedora 사용자를위한 솔루션을 만나서 반갑습니다!
Kyle

24

내가 사용하고 14.04 LTS 64 비트 우분투를 다음과 같은 코드는 나를 위해 작동 ;

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


요약:

apt-get install ia32-libs를 시도 했지만 apt 패키지 도구는 그것을 제안합니다.

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

그러면 위의 코드가 저에게 효과적입니다.


솔루션을 시도했지만 여전히 문제가 발생합니다.
tvshajeer

1
우분투 16 일
Abduhafiz

9

이것은 Ubuntu 13.04 64bit 버전에서 잘 작동합니다.

더 이상 ia32-libs를 설치할 수 없으므로 adb에 필요한 개별 32 비트 라이브러리가 필요합니다.

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

테스트되었습니다. 13.04 64 비트에서 잘 작동합니다. 고마워요 : D
블레이즈 타마

내 Ubuntu 14.04 64 비트 컴퓨터에서 lib32tinfo5 종속성도 자동으로 설치되었습니다.
faizal

8

아치 리눅스에서 :

/etc/pacman.conf에서 "multiarch"리포지토리를 활성화합니다.

그런 다음 실행하십시오.

root@box#pacman -Syu

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

이것은 나를 위해 일했습니다. 그것은의 multilib저장소 하나 그래도 가능하게한다.
paldepind 2014

4

저는 Ubuntu 12.04 LTS를 실행 중이며이 명령은 저에게 효과적이었습니다.

sudo apt-get install lib32z1 lib32z1-dev

명령 줄에서 실행 한 후에는 Eclipse에서 Project> Clean을 수행하여 R.java 파일을 생성 할 수있었습니다 (Android SDK 도구 설치에있는 항목이 올바르지 않다는 표시).


3

다중 아키텍처 Debian 7.0의 경우 다음을 추가합니다.

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

2
이것은 질문과 관련이없는 것으로 보입니다.
Esoteric 스크린 이름

효과가있다. 그러나 패키지와 그것의 충분 것으로 libc6 : I386과 된 libstdc ++ 6 : I386
호르헤 Sainz


2

이 작업을 수행하려면 ia32-libs (IA32 라이브러리) 패키지를 설치해야합니다.




2

로부터 우분투 Multiarch의 HOWTO :

Android SDK를 사용하는 일부 사용자는 amd64 비트 플랫폼에서 빌드 도구 또는 플랫폼 도구를 실행하려고 할 때 문제가 발생할 수 있습니다. ia32-libs의 대체품으로 사용자는 다음 라이브러리를 설치하는 것이 좋습니다.

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

1

이 라이브러리를 Linux에 설치하십시오. apt-get install ia32-libs


1

아래 명령을 실행하십시오. 그것은 나를 위해 일했습니다

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

1

우분투 64 비트 [12.04]-[14.10] 및 기본 OS 64 비트

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

1

때로는 sdk 파일에 필요한 권한을 부여하는 것이 문제입니다.

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

Android Studio를 다시 시작하고 문제가 해결되는지 확인하십시오.

권한 문제는 일반적으로 NTFS 파티션에서 sdk 파일을 복사 / 이동하거나 다른 컴퓨터에서 복사 할 때 발생합니다.


1

sudo apt 설치 adb

adb가 PC에 설치되지 않았습니다.

이 시도.


0

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

블로그는 Chrome, Java 설치 및 Android SDK 수정을위한 Ubuntu 13.10의 해결 방법을 설명합니다.


외부 리소스에 대한 링크가 권장되지만 링크 주변에 컨텍스트를 추가하여 동료 사용자가 그것이 무엇이며 왜 거기에 있는지 알 수 있도록하십시오. 대상 사이트에 연결할 수 없거나 영구적으로 오프라인 상태가되는 경우 항상 중요한 링크에서 가장 관련성이 높은 부분을 인용하십시오. 미래에 대한 답은 이미 주어졌습니다. 이 메타 문서를 참조하십시오.
Johannes Stadler 2014

0

올바른 전류Arch Linux 콤보는 다음과 같습니다.

[이 부분은 변경되지 않음] 에서 다음 섹션의 주석 처리를 제거하십시오 /etc/pacman.conf.

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

그때:

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

다른 답변과의 차이점은 패키지 이름에 multilib / 이제 부분이 .

(Arch Wiki에서 : Multilib # Enabling , Android # Troubleshooting )

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.