エミュレータエラー:このAVDの構成にカーネルファイルがありません


183

この問題は、EclipseでAndroidエミュレーターを実行しようとしたときに発見されました。何が起こったのか理解できません。解決策をオンラインで検索しましたが、あいまいであるようで明確に理解できません。私はサイトに従ってAVDをインストールするための手順に従っていましたが、何が欠けているのかわかりません。次のステップで説明してください。


同じ問題:stackoverflow.com/questions/8190820/scala-android-newbie- 新しいAVDを作成
zapl

1
Macではまだ起動できませんでした。AVDでの修復の使用は私にとって有効
ロニー

ARMイメージをインストールした後にEclipseを再起動し、新しいAVDを作成することでうまくいきました。
Simon

このリンクが役立つかもしれません:developer.android.com/tools/help/avd-manager.html
Abhijeet

回答:


254

「ARM EABI v7aシステムイメージ」が利用可能である必要があります。Android SDKマネージャーからインストールします。 Android SDKマネージャー

別のヒント(ここを参照)-と

  • Android SDK Tools rev 17以降
  • Android 4.0.3(APIレベル15)
  • SDK rev 3およびSystem Image rev 2(またはそれ以上)を使用

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
残念ながら、GPUエミュレーションがオンになっていると、特定のATIカードでクラッシュします。更新されたエミュレータを楽しみにしています。
ChrLipp 2012

23
この問題を解決するには、インストール後にエミュレータを削除して再作成する必要があることがわかりました。
you786 2013

3
@ you786はい、それを再現することが重要です
Bobs

1
私はすべての可能な方法を実行しましたが、シミュレータを起動している間はまだそこにあります
VISHNU GARG

以下の私の答えを参照してください。
Marc Rochkind 2014

22

このエラーが発生するもう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し、誤ったパスで環境変数を追加することで、そのように設定したためです。


私の場合、Android \ android-sdkフォルダーからエミュレーターを実行しているときに、Android \ android-studio \ sdkがANDROID_SDK_ROOTの場所を引き継がれました。それが正しくAndroid \ android-sdkを指すと、動作します。
noel aye 2013

これで終わりです。私のビルド環境では、簡単に更新できない1つのANDROID_SDK_ROOTを使用しています。修正は、クリーンなコマンドプロンプトを起動し、ANDROID_SDK_ROOTを正しいものに設定し、そこからSDKマネージャーを起動することでした。
Doug Coburn 2014

SDKの2つのコピーが誤ってインストールされていないことを再確認してください。私と同じように、「ARM EABI v7aシステムイメージ」を一方のコピーにインストールしていたのに、AVDがもう一方のコピーでそれを見つけようとしていました。SDKのコピーの1つを削除すると、エミュレーターがすぐに起動しました。
sffc 2015

私の場合、私のSDKフォルダーは正しいディレクトリをポイントしています。
ネオンワージ2015

16

私の話、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」に変更したところ、うまくいきました...


4
私の場合、それは逆でした
urnenfeld

15

私も同じ問題を抱えていました。私の場合、Android Studioが提供するバージョンとは別のバージョンのSDKをインストールしたことがわかりました。ANDROID_SDK_ROOT環境変数を元の値に変更すると、修正されました。


1
これは、Android Studioの前にSDKが以前にインストールされていた場合のトップアンサーと同様に有効な答えであることに注意してください。Android Studioは、ANDROID_SDK_ROOTがすでに別の場所に設定されていることをAndroid Studioが認識し、インストール中にユーザーに警告するというバグがあります。
コア、

コアは正しいです。今日はEclipseからAndroid Studioに切り替えましたが、これで問題が解決しました。
Pikamander2 2015

11

これが私の話です。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は機能しました。


ありがとう、これで解決しました!これは非常に奇妙な動作であるため、バグまたはsthである必要があると思います
Hugo

7

AVD Managerを管理者モードで開きます。VMを選択して[編集]をクリックし、[OK]をクリックします。

編集者注:管理者モードとは、Windowsプラットフォームで右クリック> [管理者として実行]を意味しました。


「管理者モード」とは何ですか?
ericpeters0n 2014

Mac OS用のVMが見つかりません
Frank Fang

4

カーネルファイルがマシンにインストールされていることがわかっている場合、問題は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を起動しようとしました。これで問題が解決しました!


これはそれを修正しませんでした。私の場合、デフォルトのサブフォルダーにシステムイメージがあります。
ネオンワージ2015

別の問題があるので、私に反対票を投じる必要はありません!それが私の答えを間違っているわけではありません。
BuvinJ 2015

他のすべての投稿もあなたの問題を解決しなかったため、ここでも反対票を投じましたか?
BuvinJ 2015

これで問題が解決しました。Macで実行していて、パスがimage.sysdir.1 = add-ons / addon-google_apis-google-16 / images / armeabi-v7aを指していて、system-images / androidに変更されていました。 -16 / default / armeabi-v7aは問題を解決しました
フェリペ6

3

エミュレートされたデバイスも適切に構成されていることを確認してください。Android Studioには、エミュレートされたデバイスのリストに表示されるものがありますが、使用しているSDKバージョンで動作するように設定されていません。

AVD Manager([ツール]-> [Android]-[AVD Manager])で新しいエミュレートされたデバイスを作成し、それをターゲットとして選択してみてください。


このパスをたどろうとすると、HAXM​​が実際にインストールされていないことが示されていても、実際にはインストールされていないことがわかりました。Intel HAXMをインストールするように求められました。
Lodlaiden

2

昨日Android SDKマネージャーとAndroid SDKをインストールしましたが、すぐにAndroidエミュレーターを実行しようとしたときにもこのエラーが発生しました。現在、このエラーは解消されました。SDKがインストールされているときにシステムを再起動すると、この問題が解決する可能性があります。


2

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 =」エントリに追加すると、問題が解決しました(現時点では)。


2

Android SDKを最新バージョン(API 19)に更新しました。エミュレーターをphonegap 3で実行しようとしたところ、ビルドは成功しましたが、同じ問題が発生しました。

AVDマネージャーには既存のデバイスがありましたが、そのパラメーターはすべて不明でした。確かにこれは、デバイスを削除しようとしたときに2番目のエラーを返す古いSDKバージョン(API 17)をアンインストールしたために発生します。メッセージ:「デバイスは既に実行中です」

この問題を解決するために、私は〜/ .android / avd /のAVDの場所に移動し、デバイスのdirectory.avdファイルとdevice.iniファイルを手動で削除しました。最後に、デバイスマネージャーで、最新のAPIによって提供される新しいAVDを作成しました。

これにより、phonegapはエミュレータを正常にビルドして実行できました

これが役に立てば幸い

良い一日


2

Ubuntu 14.04でAndroid Studio 1.2.2を使用してChrLippが承認した回答に従ってください。

  • Android SDK Managerから「ARM EABI v7aシステムイメージ」パッケージをインストールします。
  • 機能していない仮想デバイスを削除します。
  • アプリケーションバイナリインターフェイス(ABI)を備えた新しいデバイスをarmeabi-v7aとして追加します。
  • 新しいデバイスで起動します。

これでうまくいきました。それが機能しない場合は、システムを再起動してみてください。


2

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/


1

私はChrLippが提案したことを試しましたが、イメージは既にインストールされているため、それは問題ではありませんでした。私がしたことは実行されました:

android avd

エミュレータを手動で起動します。次に、エミュレータを停止し、そのポイントを

cca emulate android

アプリは「カーネルファイルがありません」エラーなしで動作し始めました。


1

環境変数ANDROID_SDK_ROOTを追加するだけでこの問題を修正しました。私の場合、これはC:\ Users \ fera \ AppData \ Local \ Android \ sdkにありました


1

私自身のケースでは、複数のエラーがありましたが、そのほとんどが誤って設定された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を操作するときにも機能するはずです。


0

この問題に関する私の経験を共有したかっただけです。ここでそれぞれの回答を調べても、私の状況とは一致しませんでした。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

そのようにディレクトリを変更しただけで動作します。


0

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コマンドを更新します。エミュレータが問題なく正常に機能するようにします。



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