64ビットLinuxマシン上のAndroid SDK


97

64ビットLinuxマシンでAndroid SDKを使用して開発することは可能ですか?利用可能なSDKのダウンロードは、32ビットバージョンのLinuxにのみ対応しているようです。

回答:


42

はい、そうです。ia32ライブラリをインストールする必要があります。Ubuntu Linuxのトラブルシューティングのセクションをご覧ください。

apt-get install ia32-libs
apt-get install sun-java6-jdk

5
ia32-libsが私のマシンにインストールされません。以下のnotzの回答を参照してください。
マシューギリアード

5
これは、Multiarchサポートを導入する前のUbuntuバージョンにのみ適しています。正しいアプローチは、正しいi386パッケージをインストールすることです
Jacob

皮肉なことに、「正しい」答えは、Ubuntu / Gnomeを実行している64ビットマシンの一部に対してのみ正しいものです。Linuxの断片化は、「正しい」答えがより一般的なものか、以下の部分的に正しい答えすべての組み合わせであることを示唆しています。完全性と陳腐化を確実にするには、バリエーションと更新が多すぎる可能性があるため、私はより一般的な答えを好む。私の投票は、「はい、可能です。RTFMと32ビット/ i386パッケージをインストールしてください。」というスタイルのベンダー中立的な回答です。参考までに、Android Studioを代わりに使用してほしいので修正しません。
シンシアV 2015

このリンクのトラブルシューティングセクションはもうありません。これは現在のインストール手順に移動ます:右上のプラットフォーム選択ボックスでdeveloper.android.com/studio/install.html select 'linux'を選択します。
amotzg 2017

182

(K)Ubuntuでは、次の32ビットパッケージが必要です。

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

エミュレータを実行するには、追加のパッケージが必要です。

sudo apt-get install libsdl1.2debian:i386

12
この回答をありがとう、あなたは私のコンピュータをia32-libs(どこでも推奨)をインストールすることから救いました。あなたのソリューションは私のLinux Mint 13で機能しました
pavel_kazlou

上記のコメンター、ubuntu 12.04 64ビットに同意する
マシューギリアード

4
私のUbuntu 12.10 64ビットで動作しました。本当にありがとう!

1
Ubuntu 13.04 64ビットでもADT SDKに同じ問題があり、このソリューションも私にとってはうまくいきました。
GrandOpener 2013

2
Ubuntu 14.04 64ビットでも動作します。ムシャスグラシアス!
ラングレー

34

Android SDKには以下が必要です。

  • Fedora 17 64ビットとAndroid SDK:

    sudo yum install glibc.i686 zlib.i686 libstdc++.i686 ncurses-libs.i686
  • Fedora 20 64ビットとAndroid SDK

    sudo yum install glibc zlib libstdc++ ncurses-libs mesa-libGL-devel adb

1
fedora固有の情報をありがとう。公式ヘルプにはubuntuパッケージのみがリストされています
gspatel '19年

2
私が最初にこれを試したとき、「エラー:保護されたmultilibバージョン:libstdc ++-4.7.2-2.fc17.i686!= libstdc ++-4.7.0-5.fc17.x86_64」を受け取りました。yumアップグレードlibstdc ++で修正
pinoyyid

1
fedora

@MariuszS、その2番目のシナリオでは、「64ビットAndroid SDK」の意味を明確にできますか。私の理解では、Android SDKには32ビットのバイナリがあるため、そもそもこの問題が発生しています。
Carlos Macasaet、2015

よくわかりませんが、おそらく少し前に2つのバージョン(おそらく64ビットのEclipseにバンドルされている)が存在します。回答が更新されました
MariuszS 2015

15

以下のためのDebian Wheezyにあなたは有効にする必要がありmultiarchを他の回答に記載されているか、ツールやプラットフォームのツールのディレクトリからのバイナリが必要とする依存ライブラリをインストールした後と:

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

その他のライブラリについては、lddで参照されている.soファイルを確認してください。

platform-tools $ ldd adb                       
    linux-gate.so.1 =>(0xf77bb000)
    librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1(0xf779b000)
    libncurses.so.5 =>が見つかりません
    libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0(0xf7781000)
    libstdc ++。so.6 =>が見つかりません
    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)

したがって、実行できるようにlibncurses5:i386libstdc ++ 6:i386のインストールを続行します

platform-tools $ ./adb 
Android Debug Bridgeバージョン1.0.31
...

@ user2255304に感謝!これでうまくいきました。Android Studioをインストールしようとしていてandroid-studio/sdk/tools/mksdcard、32ビットの実行可能ファイルでした。上記の手順に従い、インストールlibc6:i386しましたlibstdc++6:i386。バイナリは現在正常に動作しています。
Rajkumar S 14年

9

Ubuntu 13.1の場合、ia32-libsは使用できなくなりました。だから、これを試すことができます:

sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6

これらのパッケージ名はUbuntu 14.04でも機能します。これらのパッケージはamd64アーキテクチャリポジトリから提供されているため、これは「正しい」アプローチであるように見えます。:386パッケージのインストールを提案する以前のコメントでは、リスクのあるアーキテクチャパッケージが混在しています。
Don Park

@DonParkいいえ、それは危険ではありません。それはmultiarchと呼ばれます。
2015

5

CentOS 6.2では、次のように動作しました。

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


3
CentOS 7でも動作します!
フィリップデビッド


4

Slackwareを使用している人は、ここをクリックしてください。

私は電流でそれを試しました、そしてそれはうまくいきます。

つまり、multilibパッケージをインストールして32ビットサポートを有効にする必要があります。

手順:

1)パッケージをダウンロードします。

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

2)パッケージをインストールします。

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

3)互換性パッケージをインストールします。

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

システムを再起動し、出来上がり。




0

自分でSDKをビルドできます。試してみます。32ビットバージョンは非常に低速です。


0

前提:Android SDK 32ビットバージョンがインストールされている

私のUbuntu 12 64ビットOSでは、前のコメントで述べたパッケージをインストールする必要はありませんでした。使用して、次のインストールAndroid SDK Manager-
の下にTools
Android SDK Tools
Android SDK Platform-tools
Latest Android SDK Build-tools

最新のAndroid API(私の場合Android 4.3 (API 18)):
SDK Platform
ARM EABI v7a System Image

Extras
Android Support Library

警告-以前にia32-libsパッケージを使用しようとしました。インストールに成功し、Androidアプリを実行できました。ただし、マシンを再起動すると、マシンが起動しなくなります。そのため、ia32-libsパッケージのインストールは控えることをお勧めします。それがあなたのために働いたなら、素晴らしい。おそらくそれは私のPCに限られた問題でした。


0

上記のQとAを少しひねります:64ビットのSystem76ラップトップでDebian Wheezy(7.0)を実行しています。すでにマルチアーキテクチャを有効にしており、ネイティブのAndroidツールのほとんどは正常に動作しているようです...アプリ。リソースユーティリティの1つが(32ビット)libz.so.1を必要としたため、ビルドが失敗しました。

apt-get install lib32z1

...私のために修正しました。



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.