この問題は、EclipseでAndroidエミュレーターを実行しようとしたときに発見されました。何が起こったのか理解できません。解決策をオンラインで検索しましたが、あいまいであるようで明確に理解できません。私はサイトに従ってAVDをインストールするための手順に従っていましたが、何が欠けているのかわかりません。次のステップで説明してください。
この問題は、EclipseでAndroidエミュレーターを実行しようとしたときに発見されました。何が起こったのか理解できません。解決策をオンラインで検索しましたが、あいまいであるようで明確に理解できません。私はサイトに従ってAVDをインストールするための手順に従っていましたが、何が欠けているのかわかりません。次のステップで説明してください。
回答:
「ARM EABI v7aシステムイメージ」が利用可能である必要があります。Android SDKマネージャーからインストールします。
別のヒント(ここを参照)-と
GPUエミュレーションをオンにして、より高速なエミュレータを取得できます。
注:以前にエミュレータを作成したことがある場合は、you786のコメントに従って、エミュレータを再作成する必要があります。そうしないと、機能しません。
代替案1
Intelは、「Intelハードウェアアクセラレーション実行マネージャー」を提供します。これは、X86イメージを実行するためのVMベースのエミュレーターであり、Android SDK Managerによっても提供されます。こちらのIntelエミュレータのチュートリアルをご覧ください:HAXM Speeds Up the Android Emulator。Roman Nurik は、Android 4.3を搭載したIntelエミュレータが「非常に高速」であるとここに投稿しています。
代替案2
上記の投稿のコメントで、「アプリのテストとプレゼンテーションのための最速のAndroidエミュレーター」であると主張するGenymotionへの参照を見つけることができます。GenymotionはVirtualBoxで実行されます。Google+の彼らのサイト、Cyril Mottierからのこの投稿、およびredditに関するこのガイドも参照してください。
代替案3
XDAフォーラムでは、MEmu-Bluestacksよりも優れたPC用の最も強力なAndroidエミュレーターについて読みました。エミュレータはここにあります。これにより...
代替案4
...このXDAフォーラムのエントリ:THE FASTの使い方!代替のAndroid開発エミュレーターとしてのBlueStack。エミュレータはここにあります。
このエラーが発生するもう1つの理由は、Eclipseが正しいファイルを見つけられないことです。
EclipseがSDKファイルを探している場所を確認してください。コマンドラインでこれを行うことができます。以下は、私が作成して 'SonyTabletS'という名前のAVDのWindowsコマンドプロンプトの例です。
c:\Program Files (x86)\Android\android-sdk\tools> emulator @SonyTabletS -verbose
返される最初の行は、EclipseがSDKファイルを探している場所を示しており、次のようになります。
emulator: found ANDROID_SDK_ROOT: C:\Program Files (x86)\Android\android-sdk
場所が正しいことを確認してください。
私の場合、ANDROID_SDK_ROOT
最初はホームディレクトリに誤って設定されていました。これは、Sony Tablet S SDKのインストール手順をやみくもに実行ANDROID_SDK_ROOT
し、誤ったパスで環境変数を追加することで、そのように設定したためです。
私の話、Eclipse kernel-ranchu
はシステムイメージフォルダー(/path/to/android-sdk-macosx/system-images/android-25/google_apis/arm64-v8a
)に「」というファイルを必要としていました。
エミュレータ:エラー:このAVDの構成にはカーネルファイルがありません!「kernel-ranchu」ファイルがシステムイメージと同じ場所にあることを確認してください。
エミュレータ:エラー:ANDROID_SDK_ROOTが定義されていません
そのシステムイメージフォルダーには、「kernel-qemu
」というファイルがありました。名前を「kernel-ranchu
」に変更したところ、うまくいきました...
私も同じ問題を抱えていました。私の場合、Android Studioが提供するバージョンとは別のバージョンのSDKをインストールしたことがわかりました。ANDROID_SDK_ROOT環境変数を元の値に変更すると、修正されました。
これが私の話です。AVDマネージャーの[アクション]で、機能していないAVDの詳細を表示しました。下にスクロールすると、次の行が見つかりました。
image.sysdir.1: add-ons\addon-google_apis-google-16\images\armeabi-v7a\
次に、このファイルに移動しました:
C:\Users\XXXX\AppData\Local\Android\sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a
カーネルファイルがないことがわかりました。しかし、私はカーネルファイルを次の場所で見つけました。
C:\Users\XXXX\AppData\Local\Android\sdk\system-images\android-16\default\armeabi-v7a
だから私はそれをコピーして貼り付けました:
C:\Users\XXXX\AppData\Local\Android\sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a
その後、AVDは機能しました。
AVD Managerを管理者モードで開きます。VMを選択して[編集]をクリックし、[OK]をクリックします。
編集者注:管理者モードとは、Windowsプラットフォームで右クリック> [管理者として実行]を意味しました。
カーネルファイルがマシンにインストールされていることがわかっている場合、問題はemulator.exeがそれを見つけることです。
私の修正はuser2789389による投稿に基づいていました。AVDはAVD Managerから起動できましたが、コマンドラインからは起動できませんでした。そこで、AVD Managerを使用して、実行するavdを選択し、[詳細]をクリックしました。これで、avd定義ファイルへのパスがわかりました。同じ名前のフォルダー内で、この.avdファイルの横にconfig.iniファイルが見つかりました。iniで、次の行を見つけました。
image.sysdir.1=system-images\android-19\default\armeabi-v7a\
C:\ Users \ XXXX \ android-sdks \ system-images \ android-19フォルダを調べたところ、image.sysdir.1パスが無効であることがわかりました。「デフォルト」サブフォルダを削除する必要があったため、次のように変更しました。
image.sysdir.1=system-images\android-19\armeabi-v7a\
私はiniを保存し、AVDを起動しようとしました。これで問題が解決しました!
エミュレートされたデバイスも適切に構成されていることを確認してください。Android Studioには、エミュレートされたデバイスのリストに表示されるものがありますが、使用しているSDKバージョンで動作するように設定されていません。
AVD Manager([ツール]-> [Android]-[AVD Manager])で新しいエミュレートされたデバイスを作成し、それをターゲットとして選択してみてください。
SDK / NDKとJDKの修理/再構築/アップグレードの長い一日の後に、単一のインテリジェントな考えが私に起こりました。AVD 'GalaxyS3'の欠落しているカーネルファイルの修正は、システムイメージの参照を絶対に拡張することであったため、環境変数を調べる必要があります。
image.sysdir.1 = C:\ Android \ sdk \ system-images \ android-19 \ armeabi-v7a \
「C:.... sdk \」を「workspace」.android \ avd \ GalaxyS3.avd \ config.iniファイルの「image.sysdir.1 =」エントリに追加すると、問題が解決しました(現時点では)。
Android SDKを最新バージョン(API 19)に更新しました。エミュレーターをphonegap 3で実行しようとしたところ、ビルドは成功しましたが、同じ問題が発生しました。
AVDマネージャーには既存のデバイスがありましたが、そのパラメーターはすべて不明でした。確かにこれは、デバイスを削除しようとしたときに2番目のエラーを返す古いSDKバージョン(API 17)をアンインストールしたために発生します。メッセージ:「デバイスは既に実行中です」
この問題を解決するために、私は〜/ .android / avd /のAVDの場所に移動し、デバイスのdirectory.avdファイルとdevice.iniファイルを手動で削除しました。最後に、デバイスマネージャーで、最新のAPIによって提供される新しいAVDを作成しました。
これにより、phonegapはエミュレータを正常にビルドして実行できました
これが役に立てば幸い
良い一日
Android Studio環境、Mac、および「PANIC: 'arm' CPUのエミュレータエンジンプログラムがありません。」に対する私の回答を参照してください。。
この問題を解決するには、-kernel
手動でパスを指定する必要があります。すなわち
$ ~/Library/Android/sdk/emulator/emulator @Galaxy_Nexus_Jelly_Bean_API_16 -kernel ~/Library/Android/sdk/system-images/android-16/default/armeabi-v7a/kernel-qemu
エミュレータ名Galaxy_Nexus_Jelly_Bean_API_16
を自分のエミュレータ名に変更することを忘れないでください。
以下のコマンドは、コマンドラインで利用可能なエミュレータをチェックすることです。
$ ~/Library/Android/sdk/emulator/emulator -list-avds
また、エミュレータのパスが正しいこと、つまりにあるものを確認してください~/Library/Android/sdk/emulator/
。
私自身のケースでは、複数のエラーがありましたが、そのほとんどが誤って設定されたANDROID_SDK_ROOTに関するものでしたが、結局のところ、1つですべてが修正されたようです。
次のプロセスに従ってください。
AVDで新しいエミュレータデバイスを作成した後、[アクション]メニューに移動し、下に示すように下向きの矢印をクリックします。
[ ディスクに表示]をクリックします
Config.iniを編集する
image.sysdir.1を探します
次のような値が必要です:** image.sysdir.1 = system-images \ android-28 \ google_apis_playstore \ x86 **
あなた自身の価値は違うかもしれません
次に、Android Sdkのパスを修正して完全なパスを作成します。
image.sysdir.1 = ** C:\ androidsdk ** system-images \ android-28 \ google_apis_playstore \ x86 \
気付いた場合、上記のandroid sdkパスは通常のデフォルトのandroid sdkとは異なります。PCのメインのユーザーホームにNDKでサポートされていない空白があるため、NDKの問題を回避するためにC:/ androidsdkに移動する必要がありました。
注:SDKディレクトリをデフォルトのディレクトリから移動すると、通常、AVDエミュレータが提供するこれらのエラーの原因が発生します。上記で提供した修正は簡単な修正です。AVDエミュレーターで新しいデバイスを作成するたびに修正する必要がある場合があります。
この修正は、cordovaでCMDを操作するときにも機能するはずです。
この問題に関する私の経験を共有したかっただけです。ここでそれぞれの回答を調べても、私の状況とは一致しませんでした。Android API 22のシステムイメージがあると、このエラーが発生し、奇妙なことに、すべての環境変数が正しいディレクトリを指しています。それは意味がありません。
@BuvinJの回答は問題に光を当てました。私は彼の答えに記載されているパスを確認しましたが、はい(Windowsで)ユーザーディレクトリを調べると、システムイメージのコピーがデフォルトのサブフォルダーの下にあります。
奇妙なことに、ANDROID_SDK_ROOTにはandroid-sdkフォルダーもあるので、おそらくEclipseがそこを探していると思いました。サブフォルダを掘り下げると、ディレクトリが次のようになっていることがわかりました。
android-sdk-windows\system-images\android-22\google_apis\armeabi-v7a
このディレクトリは、ANDROID_SDK_ROOTにあります。ユーザーディレクトリuser / XXXX / android-sdk /にある別のファイルもあります。
Eclipseはそれをここで期待しています:
android-sdk-windows\system-images\android-22\default\armeabi-v7a
そのようにディレクトリを変更しただけで動作します。
Windowsのコマンドプロンプトで次のコマンドを更新します。
i)android update sdk --no-ui --all // SDKパッケージを更新し、3分かかります。ii)android update sdk --no-ui --filter platform-tools、tools //プラットフォームツールとそのパッケージを更新します。iii)android update sdk --no-ui --all --filter extra-android-m2repository // mavenプロジェクトで作業している人は、追加のmaven android mavenリポジトリを含む最新のサポート設計ライブラリでサポートするようにこれを更新します。
1)コマンドプロンプトで、Y / Nの入力を求められます。Yをクリックすると、インストールが続行されます。2)すべてのKernel-qemuファイルとqt5.dllコマンドを更新します。エミュレータが問題なく正常に機能するようにします。
Android SDK ManagerのSDKツールとプラットフォームツールを最新バージョンに更新することで、これを解決しました。