Ubuntu-エラー:SDカードの作成に失敗しました


84

SDカードへの書き込みに関する投稿はたくさんありますが、私の問題は違うと思います。AVDの作成中にSDカードを作成できません。

私は最初にAndroidSDKとAVDManagerを使用してこれを実行しようとしましたが、
名前:my_avd
ターゲット:Android 2.2-APIレベル8
SDカード:サイズ:1024 MiB
スキン:組み込み:デフォルト(HVGA)
ハードウェア:プロパティ:抽象LCD密度、値:160

これにより、
「AVD'my_avd 'の作成結果:
エラー:SDカードの作成に失敗しました」 というメッセージが表示されたウィンドウがポップアップ表示さ れます。

コマンドラインからプロセスを繰り返そうとしましたが、同様のエラーが発生しました。

alex@alex-desktop:~$ android create avd -n my_avd -t 1 -c 1024M
Android 2.2 is a basic Android platform.
Do you wish to create a custom hardware profile [no]no
Error: Failed to create the SD card.

mksdcardを使用するための指示に従おうとすることも、同様に非生産的でした。Linuxの経験が基本的に不足していることが、ここで問題を引き起こしているのではないかと思います。mksdcardを使おうとすると、ファイルまたはディレクトリが見つからないと報告されるだけです。mksdcardツールはLinuxでこのように使用できますか?

alex@alex-desktop:~$ mksdcard 1024M ./sdcard.iso
bash: /home/alex/android-sdk-linux_x86/tools/mksdcard: No such file or directory
alex@alex-desktop:~$ sudo android create avd -n my_avd -t 1 -c 1024M

PATH変数にandroidtoolsディレクトリを追加しましたが、明らかに他に何か足りないものがあるように感じます。おそらく、ある種のアクセス権ですか?

sudoを使用してandroidコマンドを実行しようとしても、役に立たなかったようです。

alex@alex-desktop:~/android-sdk-linux_x86/tools$ sudo ./android create avd -n my_avd -t 1 -c 1024M
Android 2.2 is a basic Android platform.
Do you wish to create a custom hardware profile [no]no
Error: Failed to create the SD card.

EclipseとADTプラグインをインストールして、そこからマネージャーを実行してみましたが、役に立ちませんでした。ヒントをいただければ幸いです。私はLinuxの初心者であるという事前の警告があります。そのため、確認するのは簡単なことのように思えても、見逃していた可能性があります。


@Alex Pritchard:おそらく1024Mの偽のSDカードは必要ありません。代わりに32Mを試して、運が良いかどうかを確認してください。
CommonsWare 2010年

@CommonsWare残念ながら、32MSDカードはまだ作成できません。:(
アレックスプリチャード

@アレックスプリチャード:それはかなり奇妙です。イメージは他のAVD(~/.android/avd/whateveryoucalledit/)と同じディレクトリに作成されるため、SDカードを使用してAVDを作成する方法を理解することはできませんが、AVDを作成する方法を理解することはできません。
CommonsWare 2010年

@CommonsWare私はもう少し読んでいて、何かを見つけたかもしれないと思います。64ビットのLinuxインストールを使用していて、ia32-libsをインストールする必要があるため、問題があるのではないかと思います。家に帰ったらこれを試してみて、それが役立つかどうかを確認します。
アレックスプリチャード

@アレックスプリチャード:ええ、私はあなたがそれらを必要とすると信じています。実際、それらがなくてもまったく動作しないことに驚いています。Androidを64ビットのUbuntuセットアップで実行するには、いくつかの回転を実行する必要がありましたが、それはかなり前のことで、詳細を忘れてしまいました。
CommonsWare 2010年

回答:


101

だから私は問題を見つけました。私は64ビットのLinuxインストールを使用していましたが、デフォルトでia32-libsパッケージがインストールされていませんでした。mksdcardユーティリティは、このパッケージがないと実行できません。インストール後、AVDマネージャーを使用して問題なくAVDを構築することができました。


1
おかげで、ubuntu 12.04 x64、それは問題を解決しました。私はこれらのIA32-libsには約260メガバイトであることを発言したい
yetanothercoder

43
はい!私はそれらすべてのひどい240の依存関係パッケージなしで道を見つけました!ia32-libsインストールの代わりにlibstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386。私の(そしてできれば他の人の)コンピューターをすべてのゴミから救ったこの男への
称賛

4
Fedoraでは、dnf install glibc.i686 libstdc++.i686
Dominic Cleal

ありがとうございました。Ubuntu 14.04 LTS amdを使用すると、問題が解決します。@pavel_kazlouが提案したような個別のパッケージをインストールしました
Joao Polo

1
@nimrodm私はこの投稿の活動に絶えず驚いています(これまでで最も人気のあるSO投稿です)。
アレックスプリチャード

80

Ubuntu 16.04 LTS x64では、Android Studio 2.1(2.3.3でもテスト済み)を使用して、ターミナルから実行します。

sudo apt-get install lib32stdc++6

SDKを手動で(Android Studioなしで)インストールしましたが、これでうまくいきました。
CTodea 2017年

1
それに加えて、エミュレーターを実行するために、〜/ Android / SDK / emulator / lib64 / libstdc ++ / libstdc ++。so.6とlibstdc ++。so.6.0.18の名前を別の名前に変更する必要がありました。私はそれをopenglタフなしで実行することしかできませんでした。--------------- ./emulator @ Nexus_4_API_23はドローアブルgetGLES2ExtensionStringの作成に失敗しました:GLES 2.x Pbufferを作成できませんでした!GLES 2.x拡張文字列の取得に失敗しました!エミュレートされたフレームバッファエミュレータを初期化できませんでした:エラー:OpenglESエミュレーションを初期化できませんでした。「-gpuoff」を使用して無効にしてください。
フランシスコジュニア

1
ビンゴ。Ubuntu17.04。
piratemurray 2017年

22

私はあなたと同じエラーがあり、それを解決したばかりなので、おそらくそれはあなたを助けることができます(あなたのエラーが私のような同じ問題によって引き起こされているとは思わないが)。

../tools内のすべてのツールに実行する権限がないことがわかったので、

chmod -R 777 ../tools

コマンドラインから、それは最終的に機能します


1
回答ありがとうございます。Stack Overflowは、回答の読みやすさを向上させるためのフォーマットを提供します。コードフォーマットを使用してシェルコマンドを識別し、他のテキストと区別することができます。
this.josh 2011

動作しますが、これにより.txt.xmlファイルなどに実行可能権限が付与されます...関連する個々のファイルを知っておくと便利です
funkybro 2016年

10

他の人がすでに書いているように、問題はあなたのLinuxディストリビューションが64ビットのものであり、現在、Android仮想デバイスAVD)がx86を必要としていることです正しく機能ライブラリをことです。

誰かがia32-libsをインストールすることを提案しました。ただし、Ubuntu 14.04 LTSでは、このライブラリは見つかりません。私はこれらの代替ライブラリを使用して解決しました:lib32z1lib32ncurses5lib32bz2-1.0およびlib32stdc ++

sudo apt-get update
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++

3
必要なのはlib32stdc ++ 6だけでした。
Big McLargeHuge 2016年

6

同じ問題が発生しました。SDKツールはどれもia32-libsをインストールせずに64ビットUbuntuで実行されません(例:sudo apt-get install ia32-libs)。


5

Elementary OSとubuntuでの解決策は、次のパッケージをインストールすることでした。

sudo apt-get install lib32ncurses5 lib32z1
sudo apt-get install libgcc1:i386

これはKubuntu17.04でうまくいきました。ただし、libstdc ++は引き続き削除する必要があります。
アバマンダー2017

4
alex@alex-desktop:~$ mksdcard 1024M ./sdcard.iso
bash: /home/alex/android-sdk-linux_x86/tools/mksdcard: No such file or directory
alex@alex-desktop:~$ sudo android create avd -n my_avd -t 1 -c 1024M

私はこの問題を見つけました&私は最初に方法を見つけます:

cd /home/alex/android-sdk-linux_x86/tools/

次に、これを書きます:

sudo chmod 755 mksdcard
mksdcard 1024M ./sdcard.iso
sudo android create avd -n my_avd -t 1 -c 1024M

それは動作するはずです:)


4

Kali、Debian Jessie(またはUbuntu 13.10以降)を使用している場合は、

sudo apt-get install lib32stdc ++ 6

上記のia32-libsの代わりに。


4
sudo apt-get install lib32stdc++6

この後、次のエラーが発生する可能性があります

Cannot launch AVD in emulator.
Output:
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  49
  Current serial number in output stream:  48
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  49
  Current serial number in output stream:  48
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
emulator: WARNING: VM heap size set below hardware specified minimum of 228MB
X Error of failed request:  BadValue (integer parameter out of range for operation)
emulator: WARNING: Setting VM heap size to 384MB
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  33
  Current serial number in output stream:  34
QObject::~QObject: Timers cannot be stopped from another thread

これらの3つのコマンドを使用してそれらを解決します

mv ~/Android/Sdk/tools/lib64/libstdc++/libstdc++.so.6{,.bak}
mv ~/Android/Sdk/tools/lib64/libstdc++/libstdc++.so.6.0.18{,.bak}
ln -s /usr/lib/libstdc++.so  ~/Android/Sdk/tools/lib64/libstdc++/**

3

また、この問題があり、i386パッケージをインストールした後、Androidエミュレーター用のSDカードを作成できました。2つの手順を実行する必要がありました。

sudo apt-get update
sudo apt-get install ia32-libs

これが終わった後、SDカードを付けたエミュレーターを作ることができました


2

私は別の問題を抱えていました:プラットフォームツールは私の道にありましたが、ツールはそうではありませんでした。そのため、SDCardイメージが作成されなかったことを除いて、すべてが機能しました。Eclipseでavdを作成し、仮想デバイスが非常に小さなsdカードで作成されたため、アプリのインストール時にメディアが利用できないというエラーが常にスローされるため、これに気付くことはありませんでした。


1

32ビットUbuntuを使用すると別の問題が発生しました。mksdcardを手動で実行しようとすると、ファイルが見つかりませんというエラーが発生していました。

問題はopen-jre / jdkでした。oracle javaをインストールしましたが、問題は修正されました。残念ながら、apt / synapticを介してoraclejavaをインストールすることはできなくなり、いくつかの追加のフープをジャンプする必要があります。

https://github.com/flexiondotorg/oab-java6


1

Debianテストで、。/ tools / mksdcardsを実行しようとすると、次のエラーが発生しました。

error while loading shared libraries: libstdc++.so.6: 
cannot open shared object file: No such file or directory

lib32stdc ++ 6をインストールすると問題が解決し、avdを作成することができました。


0

MyOSはOracleUnbreakable Linux 6です。この問題を解決するには、libstdc ++-4.4.6-3.el6.i686パッケージをインストールする必要がありました。


0

多くのインストールを行っても結果が得られなかった後、これを見つけて動作しました。

これは、の一部の実行可能ファイルを実行sdk/toolsできないために発生します。AndroidStudioフォルダーとAndroidSDKフォルダーに移動し、次のコマンドですべてのディレクトリとファイルを実行可能にします。

chmod +x -R *

9年経った今でもこの問題が発生していることに気づきました。良い時です。あなたの経験を共有してくれてありがとう。
アレックスプリチャード

-1

androidsdkフォルダーをホームフォルダーに移動してみてください。できます。


-1

私も同じ問題を抱えていました。トラブルシューティングを行った結果、Windowsが32ビットであり、mksdcardが64ビットのみと互換性があることが原因であることがわかりました。次に、32ビットのmksdcardをtoolsフォルダーにコピーし、古いものを削除しました。それは私の問題を解決しました。


-1

Windowsで同じ問題に直面した人々のために。私にとっては、mksdcard.exeツールが正常に実行できなかったためです。mksdcard.exeなどの一部のSDKツールには、Microsoft Visual C ++ランタイムが必要です。したがって、システムプロパティに移動し、システムタイプを確認します。

ここに画像の説明を入力してください

次に、システムタイプに基づいて、(私にとってはx64でした)リンクhttps://visualstudio.microsoft.com/downloads/からVisual Studio2019用の最新のMicrosoftVisual C ++再頒布可能パッケージをダウンロード/更新します。

ここに画像の説明を入力してください

Microsoft Visual C ++をインストールした後、私の問題は修正されました。AVDを正常に作成することができました。

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