ソフトコミュ開発ブログ

SoftCommu は Javaアプリ、Androidアプリの開発を行うディベロッパーです。人材教育もやっています。企業の新人研修の講師からスカイプでのオンライン家庭教師まで!技術書の執筆や翻訳もしています。
| main | Android 7.0 から Intent の getSerializableExtra() が使えなくなってしまいました! >>
2016.11.10 Thursday
Android エミュレータが起動しない場合の復旧手順

Android Studio をバージョンアップした後などに、下記のエラーメッセージが出てエミュレータが起動できなくなってしまう場合があります。

 

 

上記のダイアログに表示されているテキストは下記の通り。

 

Cannot launch AVD in emulator.

Output:

Hax is enabled

Warning: requested ram_size 1024M too big, reduced to 512M

Hax ram_size 0x20000000

HAX is working and emulator runs in fast virt mode.

qemu-system-i386.exe: -drive if=none,index=0,id=system,file=D:¥Android¥sdk/system-images¥android-23¥google_apis¥x86¥/system.img: could not open disk image D:¥Android¥sdk/system-images¥android-23¥google_apis¥x86¥/system.img: Could not open 'D:¥Android¥sdk/system-images¥android-23¥google_apis¥x86¥/system.img': Invalid argument

 

上記で 「ram_size 1024M too big」などと書いてあるので、

エミュレータ上のバーチャルデバイスのRAMの設定を変えるなどしたくなりますが、

それをし始めるとドツボにハマってしまいます。

本当の原因はそこではないからです。

本当の原因は SDK 内のAndroid 端末の System Image にアクセスできないことです。

 

解決方法

 

まず、「Cannot launch AVD in emulator.」と表示されているダイアログを閉じます。

その下に表示されていた Android Virtual Device Manager が表示されていると思います。

もし、Android Virtual Device Manager が表示されていない場合は、

Android Studio の上部にある下記の赤枠内のアイコンをクリックして起動してください。

 

 

Android Virtual Device Manager の下記の赤枠の情報をメモしておきましょう。

下記ではAPIレベルが23、アンドロイドのバージョンは 6.0Google APIs 対応、CPU x86 となっていますね。

この情報を後で使います。

 

 

上記赤枠内の情報をメモしたら、このダイアログはいったん閉じます。

つぎに、下記の赤枠のアイコンをクリックして「SDKマネージャー」を起動します。

 

 

下記は「SDKマネージャー」が表示されている様子です。

 

 

上記ダイアログ左下のほうにある「Launch Standalone SDK Manager」をクリックしてください。

そうすると、下記のように 「Standalone SDK Manager」が表示されます。

 

 

上記のダイアログ内のリストを下の方にスクロールしていき、さっきメモしておいた情報に合致しそうな System Image を探しましょう。

下記ではAPIレベルが23、アンドロイドのバージョンは 6.0Google APIs 対応、CPU x86 に合致する System Image でまだインストールされていないもの(右側に Not installedと表示されているもの)をチェックしました。

その後、右下の 「Install packages」をクリックして、チェックを入れた System Image のインストールを開始します。

 

 

 

System イメージのインストールが完了したら、上記のダイアログを閉じてください。

 

 

 

AVDマネージャー(Android Virtual Device Manager )で上記の赤枠の再生ボタンを押すと・・・

 

 

無事にエミュレータを起動できました!

 

 

 

| SoftCommu | Android | 12:51 | comments(0) | - |









      1
2345678
9101112131415
16171819202122
23242526272829
3031     
<< December 2018 >>
+ 人気の記事
1位: Proguard を使用してリリース用APKを出力しようとした際にエラーになるケースの対応策

2位: Android Studio で "SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable" と表示される問題の原因と対応策

3位: エミュレータの Google Play Services のバージョンが古いために Google Maps などを使用したアプリが動作しない場合の対応策

4位: ズバリ、ラムダ式 (Lambda)とは何か? それを使うと何がうれしいのか?

5位: Android エミュレータが起動しない場合の復旧手順

6位: Android 7.0 から Intent の getSerializableExtra() が使えなくなってしまいました!

7位: Java で Firebase を使う方法のまとめ。

8位: Bitbucketから、指定した時点でのファイルをすべてまとめて zip でダウンロードする方法

9位: エクリプスでテキストエディタの背景色を黒っぽくしたらデバッグ中にどの行にいるのかわからなくなった場合の対応策

10位: OneDrive でオフィス文書が同期できなくなるケースの対応策

11位: Android Studio で2台のパソコンを行き来しながら開発作業をする方法

12位: マイクロソフトの API仕様変更に伴う 「OneDrive API活用術」のサンプルコードの修正のお知らせ

13位: Arduino の開発環境に ZIP形式のライブラリをインストールできない場合の対処方法

14位: Proguard を使用してリリース用APKを出力しようとした際にエラーになるケースの対応策

15位: 任意のレジストラで取得したドメインのSSL認証を AWS で無料で取得し、Elastic Beanstalk の WEBアプリを https で公開するまでの手順まとめ

16位: AWS (Amazon Web Service) で動作している WEBアプリを SSL対応(HTTPS対応)にする

17位: AWS (Amazon Web Service) の公式ドキュメントで 「HTTPS を終了する」とはどういう意味か?

+ ARCHIVES
+ RECENT COMMENTS
  • エミュレータの Google Play Services のバージョンが古いために Google Maps などを使用したアプリが動作しない場合の対応策
    師子乃 (12/12)
+ CATEGORIES
+ MOBILE
qrcode

(C) 2016 SoftCommu All Rights Reserved.