SDK Android di mesin linux 64-bit

97

Apakah mungkin untuk mengembangkan menggunakan Android SDK pada mesin linux 64-bit. Unduhan SDK yang tersedia tampaknya hanya untuk Linux versi 32-bit.

dzhelil.dll
sumber

Jawaban:

42

Ya itu. Anda perlu menginstal pustaka ia32. Lihat bagian pemecahan masalah Linux Ubuntu .

apt-get install ia32-libs
apt-get install sun-java6-jdk
Matt Huggins
sumber
5
ia32-libs tidak dapat diinstal di komputer saya. Lihat jawaban notz di bawah.
Matthew Gilliard
5
Ini hanya sesuai untuk versi Ubuntu sebelum mereka membawa dukungan Multiarch. Pendekatan yang benar sekarang adalah menginstal paket i386 yang benar
Jacob
Ironisnya, jawaban "benar" hanya benar untuk sebagian kecil dari mesin 64-bit yang menjalankan Ubuntu / Gnome. Fragmentasi Linux menunjukkan bahwa jawaban "benar" adalah jawaban yang lebih umum atau kombinasi dari semua jawaban yang sebagian benar berikut ini. Saya untuk satu lebih memilih jawaban yang lebih umum, karena ada terlalu banyak kemungkinan variasi dan pembaruan untuk memastikan kelengkapan dan non-usang. Pilihan saya akan bagus untuk "Ya, itu mungkin. RTFM dan instal paket 32-bit / i386.", Gaya jawaban vendor-netral. FYI - mereka tidak akan memperbaikinya karena mereka ingin kita menggunakan Android Studio sebagai gantinya.
Sinthia V
Tidak ada lagi bagian pemecahan masalah pada tautan ini, ini masuk ke petunjuk pemasangan saat ini: developer.android.com/studio/install.html pilih 'linux' di kotak pilihan platform kanan atas.
amotzg
182

Di (K) Ubuntu Anda perlu mengikuti paket 32-bit:

sudo apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386

untuk menjalankan emulator, Anda memerlukan paket tambahan itu:

sudo apt-get install libsdl1.2debian:i386
notz
sumber
12
Terima kasih banyak atas jawaban ini, Anda menyelamatkan komputer saya dari instalasi ia32-libs (disarankan di mana-mana), yang bersama dengan paket yang Anda sebutkan membawa gerobak dependensi tidak berguna lainnya. Solusi Anda berfungsi untuk Linux Mint 13. saya
pavel_kazlou
Setuju dengan komentator di atas, ubuntu 12.04 64bit
Matthew Gilliard
4
Bekerja untuk Ubuntu 12.10 64bit saya. Terima kasih banyak!
1
Ubuntu 13.04 64 bit masih memiliki masalah yang sama dengan ADT SDK, dan solusi ini juga berfungsi untuk saya di sana.
GrandOpener
2
Bekerja untuk Ubuntu 14.04 64bit juga. Terima kasih banyak!
Langley
34

Android SDK membutuhkan:

  • Fedora 17 64bit dengan Android SDK:

    sudo yum install glibc.i686 zlib.i686 libstdc++.i686 ncurses-libs.i686
  • Fedora 20 64bit dengan Android SDK

    sudo yum install glibc zlib libstdc++ ncurses-libs mesa-libGL-devel adb
MariuszS
sumber
1
terima kasih atas info khusus fedora. bantuan resminya hanya memiliki paket ubuntu yang terdaftar
gspatel
2
Ketika saya pertama kali mencoba ini, saya mendapat "Kesalahan: Versi multilib yang dilindungi: libstdc ++ - 4.7.2-2.fc17.i686! = Libstdc ++ - 4.7.0-5.fc17.x86_64". Diperbaiki dengan yum upgrade libstdc ++
pinoyyid
1
baris perintah yang digunakan untuk fedora 17 masih berfungsi untuk fedora 21
Sombriks
@MariuszS, dalam skenario kedua, dapatkah Anda menjelaskan apa yang Anda maksud dengan "64bit Android SDK". Pemahaman saya adalah bahwa Android SDK memiliki binari 32-bit, itulah sebabnya kami mengalami masalah ini di tempat pertama.
Carlos Macasaet
Saya tidak yakin, tapi mungkin beberapa waktu lalu ada dua versi (mungkin dibundel dengan eclipse 64bit). Jawaban diperbarui
MariuszS
15

Untuk Debian Wheezy Anda harus mengaktifkan multiarch dan kemudian menginstal pustaka dependen seperti yang tercantum dalam jawaban lain atau sesuai kebutuhan binari dari direktori alat atau platform-tools:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386

Untuk lib lebih lanjut, periksa dengan ldd untuk file .so yang direferensikan.

alat platform $ ldd adb                       
    linux-gate.so.1 => (0xf77bb000)
    librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xf779b000)
    libncurses.so.5 => tidak ditemukan
    libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xf7781000)
    libstdc ++. so.6 => tidak ditemukan
    libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xf775b000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf773e000)
    libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xf75db000)
    libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xf75d6000)
    /lib/ld-linux.so.2 (0xf77bc000)

Jadi lanjutkan install libncurses5: i386 dan libstdc ++ 6: i386 agar bisa dijalankan

alat-platform $ ./adb 
Android Debug Bridge versi 1.0.31
...
sebastianwagner
sumber
Terima kasih @ user2255304! Ini berhasil untuk saya. Mencoba menginstal Android Studio dan android-studio/sdk/tools/mksdcard32 bit dapat dieksekusi. Ikuti langkah-langkah di atas dan diinstal libc6:i386dan libstdc++6:i386. Biner sekarang berfungsi dengan baik.
Rajkumar S
9

Untuk Ubuntu 13.1 ia32-libs tidak tersedia lagi. Jadi, Anda bisa mencoba yang ini:

sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6
pengguna1079877
sumber
Nama paket ini juga berfungsi untuk Ubuntu 14.04. Bagi saya ini merupakan pendekatan yang 'benar' karena paket ini berasal dari repo arsitektur amd64. Komentar sebelumnya menyarankan penginstalan: paket 386 mencampur paket arsitektur yang tampaknya berisiko.
Don Park
@DonPark Tidak, itu tidak berisiko. Ini disebut multiarch.
Léo Lam
5

Di CentOS 6.2 saya membuatnya berfungsi dengan yang berikut:

yum install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686

khagler
sumber
3
Bekerja di CentOS 7 juga!
Philippe David
4

Bagi mereka yang menggunakan Slackware klik di sini.

Saya mencobanya dengan arus dan berhasil.

Singkatnya, Anda perlu mengaktifkan dukungan 32bit dengan menginstal paket multilib.

Langkah:

1) Unduh paket:

> wget -np -nH -r -A txz,tgz \
> http://slackware.com/~alien/multilib/14.0/

2) instal paket:

~/multilib$ \
> cd \~alien/multilib/14.0/
~/multilib/~alien/multilib/14.0/$ \
> su -c "upgradepkg --reinstall --install-new *.t?z"

3) instal paket kompatibilitas:

~/multilib/~alien/multilib/14.0/$ \
> su -c "upgradepkg --reinstall --install-new *-compat32/*/*.t?z"

Mulai ulang sistem dan voila.

Milan Krstic
sumber
1

Untuk openSUSE Anda dapat menginstal paket pola 32-bit

su zypper install -t pola 32bit

Steffen Christensen
sumber
1

Di Ubuntu 13.10

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0

Venky
sumber
0

Anda dapat membangun sdk sendiri. Saya akan mencoba. Versi 32-bit sangat lambat.

imcaptor.dll
sumber
0

Anggapan: Android SDK versi 32 bit diinstal

Di OS Ubuntu 12 64 bit saya, saya tidak perlu menginstal paket apa pun yang disebutkan di komentar sebelumnya. Instal yang berikut menggunakan Android SDK Manager-
Di bawah Tools:
Android SDK Tools
Android SDK Platform-tools
Latest Android SDK Build-tools

Di bawah API Android terbaru (dalam kasus saya, Android 4.3 (API 18)):
SDK Platform
ARM EABI v7a System Image

Di bawah Extras:
Android Support Library

Peringatan- Saya sebelumnya telah mencoba menggunakan ia32-libspaket tersebut. Ini berhasil diinstal dan saya dapat menjalankan aplikasi Android saya. Namun, jika saya me-restart mesin, itu tidak akan pernah bisa boot. Oleh karena itu, saya sarankan untuk tidak menginstal ia32-libspaket. Jika itu berhasil untuk Anda maka bagus. Mungkin itu masalah yang terbatas pada PC saya saat itu.

Arunraj Nair
sumber
0

Sedikit perubahan pada Q dan A di atas: Saya menjalankan Debian Wheezy (7.0) pada laptop System76 64-bit, saya telah mengaktifkan multiarch dan sebagian besar alat Android asli tampaknya berfungsi dengan baik ... sampai saya mencoba membangun sebuah aplikasi. Build gagal karena salah satu utilitas resource memerlukan libz.so.1 (32-bit).

apt-get install lib32z1

... memperbaikinya untukku.

kramer
sumber
0

Untuk AWS Linux, saya telah menemukan solusinya di posting Forum AWS yang lama .

sudo yum install mesa-libGL.i686 libXrender.i686 libSM.i686 freetype.i686 libstdc++.i686

Lee Han Kyeol
sumber
0

Untuk pengguna Arch:
Anda harus menginstal paket lib32-gcc-libs dan lib32-ncurses yang ada di repositori Multilib. (Yang harus Anda aktifkan )

pacman -S lib32-gcc-libs  
pacman -S lib32-ncurses
Grrrben
sumber
1
"paket tidak ditemukan"
fungusanthrax