質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

VMware

VMwareとは、 ハードウェアで動作するOS上で仮想マシンを作成、実行するソフトウェアです。 Windows上でUNIX系OSを動作させたり、他のOS上で別の仮想OSを動作することが可能です。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Android Emulator

Android EmulatorはアンドロイドのOSで起動しているアンドロイドのデバイスの機能をシミュレートするソフトウェアです。Emulatorは開発者に複数の違う設定を持ったデバイスを必要とすることなくアプリケーションを開発しテストすることが可能になります。

Q&A

解決済

2回答

3121閲覧

Android Studio 2.3.1 でエミュレーターが起動できない

ozy999

総合スコア17

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

VMware

VMwareとは、 ハードウェアで動作するOS上で仮想マシンを作成、実行するソフトウェアです。 Windows上でUNIX系OSを動作させたり、他のOS上で別の仮想OSを動作することが可能です。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Android Emulator

Android EmulatorはアンドロイドのOSで起動しているアンドロイドのデバイスの機能をシミュレートするソフトウェアです。Emulatorは開発者に複数の違う設定を持ったデバイスを必要とすることなくアプリケーションを開発しテストすることが可能になります。

0グッド

0クリップ

投稿2017/04/26 06:49

編集2017/04/28 08:08

###前提・実現したいこと
VMware に Ubuntu 16.04 LTS を構築して Android Studio 2.3.1 をインストールしました。

インストール手順は以下のサイトを参考にしました。
第372回 Ubuntu Makeで簡単にAndroid開発環境を構築する

Hello World プロジェクトを作成して、Emulated Performance を
Hardware-GLES 2.0 にしてエミュレーターを起動しても、エミュレーターは一瞬立ち上がってすぐに消えてしまいます。
Software-GLES 2.0 で起動すると、立ち上がりますが起動まで時間がかかることと動作も遅く実用レベルではありません。

VMware で仮想マシンを構築した場合、kvm はダメなのでしょうか?
VT-x は有効にしてあります。

###発生している問題のキャプチャー

・・・ 2017-04-28 16:15:21,104 [1184254] WARN - run.EmulatorConnectionListener - Emulator not ready yet, dev.bootcomplete = null 2017-04-28 16:15:22,360 [1185510] WARN - run.EmulatorConnectionListener - Emulator not ready yet, dev.bootcomplete = null 2017-04-28 16:15:22,645 [1185795] ERROR - llij.ide.plugins.PluginManager - null java.lang.NullPointerException at sun.java2d.pipe.AlphaColorPipe.renderPathTile(AlphaColorPipe.java:55) at sun.java2d.pipe.AAShapePipe.renderTiles(AAShapePipe.java:201) at sun.java2d.pipe.AAShapePipe.renderPath(AAShapePipe.java:159) at sun.java2d.pipe.AAShapePipe.fill(AAShapePipe.java:68) at sun.java2d.pipe.PixelToShapeConverter.fillRoundRect(PixelToShapeConverter.java:74) at sun.java2d.pipe.ValidatePipe.fillRoundRect(ValidatePipe.java:93) at sun.java2d.SunGraphics2D.fillRoundRect(SunGraphics2D.java:2268) at com.intellij.ide.ui.laf.darcula.ui.DarculaButtonUI.paintDecorations(DarculaButtonUI.java:89) at com.intellij.ide.ui.laf.darcula.ui.DarculaButtonUI.paint(DarculaButtonUI.java:98) at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) at com.intellij.ide.ui.laf.darcula.ui.DarculaButtonUI.update(DarculaButtonUI.java:164) at javax.swing.JComponent.paintComponent(JComponent.java:780) at javax.swing.JComponent.paint(JComponent.java:1056) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JLayeredPane.paint(JLayeredPane.java:586) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5217) at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579) at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502) at javax.swing.RepaintManager.paint(RepaintManager.java:1272) at javax.swing.JComponent.paint(JComponent.java:1042) at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39) at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79) at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116) at java.awt.Container.paint(Container.java:1975) at java.awt.Window.paint(Window.java:3904) at com.intellij.openapi.ui.FrameWrapper$MyJFrame.paint(FrameWrapper.java:462) at javax.swing.RepaintManager$4.run(RepaintManager.java:842) at javax.swing.RepaintManager$4.run(RepaintManager.java:814) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738) at javax.swing.RepaintManager.access$1200(RepaintManager.java:64) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:795) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:631) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:387) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) 2017-04-28 16:15:22,800 [1185950] ERROR - llij.ide.plugins.PluginManager - Android Studio 2.3.1 Build #AI-162.3871768 2017-04-28 16:15:22,806 [1185956] ERROR - llij.ide.plugins.PluginManager - JDK: 1.8.0_112-release 2017-04-28 16:15:22,807 [1185957] ERROR - llij.ide.plugins.PluginManager - VM: OpenJDK 64-Bit Server VM 2017-04-28 16:15:22,807 [1185957] ERROR - llij.ide.plugins.PluginManager - Vendor: JetBrains s.r.o 2017-04-28 16:15:22,807 [1185957] ERROR - llij.ide.plugins.PluginManager - OS: Linux 2017-04-28 16:15:22,808 [1185958] ERROR - llij.ide.plugins.PluginManager - Last Action: Run 2017-04-28 16:15:23,645 [1186795] WARN - run.EmulatorConnectionListener - Emulator not ready yet, dev.bootcomplete = null 2017-04-28 16:15:24,898 [1188048] WARN - run.EmulatorConnectionListener - Emulator not ready yet, dev.bootcomplete = null 2017-04-28 16:15:25,977 [1189127] WARN - run.EmulatorConnectionListener - Emulator not ready yet, dev.bootcomplete = null 2017-04-28 16:15:27,233 [1190383] WARN - run.EmulatorConnectionListener - Emulator not ready yet, dev.bootcomplete = null 2017-04-28 16:15:28,489 [1191639] WARN - run.EmulatorConnectionListener - Emulator not ready yet, dev.bootcomplete = null 2017-04-28 16:15:29,758 [1192908] WARN - run.EmulatorConnectionListener - Emulator not ready yet, dev.bootcomplete = null 2017-04-28 16:15:30,759 [1193909] WARN - run.EmulatorConnectionListener - Timed out after 300seconds waiting for emulator to come online.

###補足情報(言語/FW/ツール等のバージョンなど)
環境

  • Windows10 Pro(64bit)
  • VMware Workstaion 12 Pro(12.5.5)
  • Ubuntu 16.04 LTS(64bit)
  • Android Studio 2.3.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

下記のようにエミュレーターのライブラリを入れ替えることによって問題は解決いたしました。

lib64stdc++ は root になりますのでエミュレーター周りのリポジトリが更新された場合は、
一旦、ライブラリを元に戻してから Update する必要があります。

$ sudo apt-get install lib64stdc++6:i386 $ cd ~/Android/Sdk/emulator/lib64/libstdc++/ $ mv libstdc++.so.6 libstdc++.so.6.original $ ln -s /usr/lib64/libstdc++.so.6 ~/Android/Sdk/emulator/lib64/libstdc++

投稿2017/04/30 02:26

ozy999

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

仮想マシンのネストというのは仮想化ソフトウェア側の特別な対応が必要になります。同一ソフトによるネストでさえ難題なのに、VMwareとKVMという異種間では尚更難しいのではないかと思います。

確認する手段としては、仮想化したUbuntuの端末で

$ egrep -c vmx /proc/cpuinfo

のようにコマンドを入力して0が表示されたら、少なくともそのままの環境ではKVMによる仮想化はできないということになります。多分、この状態なんじゃないかと思います。

投稿2017/04/29 07:41

keicha_hrs

総合スコア6768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ozy999

2017/04/29 09:01

アドバイスありがとうございます。 仮想マシンの Ubuntu 16.04 LTS で kvm は動作しています。 ``` $ lsmod | grep kvm kvm_intel 172032 3 kvm 544768 1 kvm_intel irqbypass 16384 1 kvm ``` 取り敢えずエミュレーターを高速に起動できるようになりました。 エミュレーター関連が怪しかったので lib64stdc++6:i386 をインストールして 標準のものを置き換えてみました。(これでよいのか不明ですが) ファイルサイズも違いますし・・・ ``` $ sudo apt-get install lib64stdc++6:i386 // 標準でインストールされる ~/Android/Sdk/emulator/lib64/libstdc++/libstdc++.so.6 <-- 4.8MB // こちらで置き換えました /usr/lib64/libstdc++.so.6 <--1.6MB ```
keicha_hrs

2017/04/29 09:50

すみません、「仮想マシンのネスト」というよりも、「仮想マシンの中でさらに仮想化支援機能を用いる」ことの問題でしたね。私が書いたコマンドも、OSがVT-xを認識しているかどうかを確認するためのもので、このコマンドの実行結果が0だとVT-xによる支援は効かない、という話でした。 高速に動かすことができたのなら、それで良かったのでしょう。
ozy999

2017/04/30 02:20

しかし同じように仮想マシンを使って Android Studio をインストールされている方は他にもいらっしゃると思うのですが、みなさん問題なく動作してるのでしょうか・・・ 私の環境では問題なく動作しているようで、実際はホストのHDDがアクセスしっぱなしという状態が発生し(ゲスト上ではHDDアクセスは発生していない)、それが足を引っ張って仮想マシンの Ubuntu の動作がもたつく現象が発生していました。 現在は上記のようにライブラリを変更して問題なく動作しています。 これで質問の方は自己解決として閉じさせていただきます。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問