web-dev-qa-db-ja.com

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

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

173
shoujo_sm

「ARM EABI v7aシステムイメージ」が利用可能でなければなりません。 Android SDKマネージャからインストールしてください。 Android SDK manager

もう一つのヒント( here を参照) - with

  • Android SDKツールrev 17以上
  • Android 4.0.3(APIレベル15)
  • sDK rev 3およびSystem Image rev 2以降を使用している

あなたはより速いエミュレータを得るためにGPUエミュレーションをオンにすることができます: enter image description here

注:以前にエミュレータを作成したことがある場合、you786のコメントに従って再作成する必要があります。それ以外の場合は機能しません。

代替案1
Intelは " Intelハードウェアアクセラレーション実行マネージャ "を提供しています。これは、X86イメージを実行するためのVMベースのエミュレータであり、Android SDKマネージャによっても提供されます。ここでIntelエミュレータのチュートリアルを参照してください。 HAXMはAndroidエミュレータを高速化します 。 Roman Nurikの投稿 ここ Android 4.3を搭載したIntelエミュレータは「非常に高速」だという。

選択肢2
上記の記事のコメントには、 Genymotion が「アプリのテストとプレゼンテーション用の最速のAndroidエミュレータ」であると主張していることへの参照があります。 GenymotionはVirtualBoxで動きます。 Cyril Mottierの Google + 、こちらの post 、および reddit のこのガイドも参照してください。

代替案3
XDAフォーラムで私が読んだ MEmu - 最もパワフルなAndroidエミュレータPC、Bluestacksより良い 。エミュレータを見つけることができます こちら 。これは私をもたらします...

代替案4
...このXDAフォーラムのエントリ: THE FAST!BlueStackを代替のAndroid開発エミュレータとして使用する方法 。エミュレータを見つけることができます こちら

251
ChrLipp

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

22
KCD

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

15
nerdinand

私の話では、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"としてそれを改名しました、そして、それは働きました...

11
jptsetung

これが私の話です。 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はそれから働いた。

9
CKP78

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

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

7
user3313044

カーネルファイルがあなたのマシンにインストールされているのを知っているなら、問題はそれを見つけるためにemulator.exeを得ていることです。

私の修正はuser2789389による投稿に基づいています。 AVD ManagerからAVDを起動できましたが、コマンドラインからは起動できませんでした。そこで、AVD Managerを使用して、実行したいavdを選択して[Details]をクリックしました。それは私に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パスが無効であることがわかりました。私は "default"サブフォルダを削除しなければならなかったので、それを次のように変更しました:

image.sysdir.1=system-images\Android-19\armeabi-v7a\

私はiniを保存してAVDを起動しようとしました。これで問題は解決しました。

4
BuvinJ

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

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

3
kmantel

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

  • Android SDKマネージャから「ARM EABI v7aシステムイメージ」パッケージをインストールします。
  • 機能していない仮想デバイスを削除します。
  • Application Binary Interface(ABI)を持つ新しいデバイスをarmeabi-v7aとして追加します。
  • 新しいデバイスで起動します。

これは私のために働きました。うまく動かない場合は、システムを再起動してみてください。

2
manyu

SDK/NDKとJDKの長い一日の修理/再構築/アップグレードの後、私は独特の賢い考えを思いつきました。私のAVD 'GalaxyS3'が欠けているカーネルファイルの修正はシステムイメージの参照を絶対に拡張することだったので、環境変数を調べる必要があります。

image.sysdir.1 = C:\ Android\sdk \システムイメージ\ Android-19\armeabi-v7a \

「workspace」の「image.sysdir.1 =」エントリに「C:.... sdk \」を追加しました。Android\ avd\GalaxyS3.avd\config.iniファイルで、(今のところ)問題は解決しました。

2
user2789389

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

2
Jack Hu

私は自分のAndroid SDKを最新バージョン(API 19)にアップデートしました。 phonegap 3でエミュレータを実行しようとしたとき、ビルドは成功しましたが、同じ問題が発生しました。

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

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

これにより、phonegapはエミュレータを正常に構築して実行することができました。

これが役立つことを願っています

良い一日

2
snaphuman

私はChrLippが提案したことを試したが、イメージはすでにインストールされているので、それは問題ではなかった。私がしたことは実行されました:

Android avd

エミュレータを手動で起動します。それから私はエミュレータを止めて、その点を

cca emulate Android

「カーネルファイルがありません」というエラーが表示されることなく、アプリは動作し始めました。

1
Marc Rochkind

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
shizhen

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

1
fera

この問題に関する私の経験を共有したいと思いました。ここでそれぞれの答えを調べても、それは私の状況と一致しませんでした。 Android API 22のシステムイメージがあると、このエラーが発生します。奇妙なことに、すべての環境変数が正しいディレクトリを指しているということがあります。意味がありません。

@BuvinJの答えはその問題にいくつかの光を当てた。私は彼の答えに記述されているパスをチェックしました、そして、私がシステムディレクトリのコピーがサブフォルダのデフォルトの下にあるのを確認しました。

奇妙なことに、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
Neon Warge

私自身の場合、私は複数のエラーを抱えていましたが、そのほとんどは間違って設定されたAndroid_SDK_ROOTに関するものでした。その日の終わりに、1つのことで全体が修正されました。

次の手順に従ってください。

AVDで新しいエミュレータデバイスを作成した後、[Actions]メニューに移動して、下に示すように下向きの矢印をクリックします。

enter image description here

ディスク上に表示をクリック

Config.iniを編集

image.sysdir.1を探します

それはこのような値があるはずです:** image.sysdir.1 =システムイメージ\アンドロイド28\google_apis_playstore\x86 **

あなた自身の価値は違うかもしれません

さて、完全なパスを作るためにAndroid Sdkのパスを修正してください。

image.sysdir.1 = ** C:\ androidsdk **システムイメージ\ Android-28\google_apis_playstore\x86 \

あなたが気づいたのであれば、上に示したAndroid SDKパスは通常のデフォルトAndroid SDKとは異なります、私はNDKを避けるためにそれをC:/ androidsdkに移動しなければなりません私のPC上の私のメインUSER HOMEとしての問題は、NDKがサポートしないかもしれない空白を持っています。

注:SDKディレクトリをデフォルトのディレクトリから移動すると、通常AVDエミュレータでこれらのエラーが発生します。特に、パスの破損や設定ミスが原因です。私が上で提供した修正は迅速な修正です、あなたはあなたがAVDエミュレータで新しい装置を作成する度にそれをしなければならないかもしれません。

この修正は、cordovaを使用してCMDで作業しているときにも機能します。

0
Akintunde