端末でcordova run Android
を入力した後、私はこのエラーを得ています:
Waiting for emulator to start...
PANIC: Broken AVD system path. Check your Android_SDK_ROOT value [/Users/username/Library/Android/sdk]!
これはエクスポート後に起こります:
export Android_SDK_ROOT='/Users/username/Library/Android/sdk'
エクスポートする前に私は得た:
Waiting for emulator to start...
PANIC: Cannot find AVD system path. Please define Android_SDK_ROOT
私が間違っているところで任意のアイデア?私はこれがSDKルートであると確信しています、なぜ私は壊れたAVDシステムパスを取得しているのですか?
AVDやSDKを別のディレクトリに移動したり、古いSDKを新しいものと交換したり、何らかの理由でSDKを破損させたりすると、さまざまな問題が発生する可能性があります。
以下に、私が知っている可能性のあるすべての問題について説明し、それらを解決するためのいくつかの方法を紹介します。
もちろん、私はあなたがAVDを作成したと仮定します、そしてそれは
C:\Users\<user_name>\.Android\avd
(Windows)または~/.Android/avd
(Linux/MacOS)にあります。
.Android
を別の場所に移動した場合は、Android_SDK_HOME
環境変数を.Android
を含む親ディレクトリのパスに設定し、AVD Managerが仮想デバイスを正しく見つけたことを確認してください。
<user_home>/.Android/avd/<avd_name>.ini
のパスも確認してください
PANIC: Cannot find AVD system path. Please define Android_SDK_ROOT
PANIC: Broken AVD system path. Check your Android_SDK_ROOT value
これら2つのエラーは、エミュレータがSDKを見つけられない場合、またはSDKが壊れている場合に発生します。
ですので、まず最初にAndroid_SDK_ROOT
変数を削除することをお勧めします。エミュレータがSDKディレクトリの外側にある場合にのみ必要です。しかし、一般的に、あなたのエミュレータはSDKディレクトリの中に留まります。そしてこの場合、それは自動的にSDKの場所を検出しなければなりません。そうでない場合は、SDKのファイルツリーが間違っている可能性があります。以下を行ってください。
SDKディレクトリに、少なくともemulator
、platforms
、platform-tools
、system-images
の4つのディレクトリがあることを確認します。 非常に重要です!これらのディレクトリは存在している必要があります。存在しない場合は、空のディレクトリを作成してください。
<user_home>/.Android/avd/<avd_name>
に移動してconfig.ini
を開きます。 image.sysdir.1
プロパティを見つけます。実際のシステムイメージを含むSDKディレクトリ内のディレクトリを指します。このディレクトリが存在し、build.prop
、system.img
などのファイルが含まれていることを確認してください。存在しない場合は、SDKマネージャを開いてAVDに必要なシステムイメージをダウンロードする必要があります。 ).
すべてが正しく設定されていれば、Android_SDK_ROOT
に関するこれらのエラーは解決したはずです。そうでない場合は、Android_SDK_ROOT
変数を設定しようとします。
あなたが直面するかもしれない次の問題は、エミュレータが起動し始めますが、すぐにハングアップするか、または終了するということです。おそらく、必要なパッケージがすべてインストールされていないということです。
別の考えられるエラーは次のとおりです。
ADBバイナリを自動的に検出できませんでした。拡張設定ページにADBへのカスタムパスが追加されるまでは、エミュレータ機能の中には機能しないものがあります。
したがって、AVDを正常に起動するには、少なくともこれらのパッケージがインストールされていることを確認する必要があります。
emulator (Android Emulator)
platform-tools (Android SDK Platform-Tools)
tools (Android SDK Tools)
そして先に述べたように、あなたはAVDが使っているシステムイメージをインストールしなければなりません、例えばsystem-images;Android-25;google_apis;x86
SDKの最新バージョンにはスタンドアロンの
SDK Manager.exe
はありません。その代わりに、Android Studioかtools\bin\sdkmanager.bat
(Linux/MacOSにはおそらくsh
ファイルがあります)のどちらかを使う必要があります。利用可能なすべてのパッケージを一覧表示するには、
sdkmanager --list
またはsdkmanager --list --verbose
を使用してください。パッケージをインストールするには
sdkmanager <package1> <package2> ...
を使います。
手動で HAXM をシステムにインストールすることもお勧めします。
私が言及する最後の問題は、AVDまたはSDKをあるコンピュータまたはディレクトリから別のコンピュータまたはディレクトリに移動しようとしているときに発生します。この場合、あなたはそのようなエラーを受けるかもしれません:
qemu-system-i386.exe:-drive if = none、overlap-check = none、cache =危険、index = 0、id = system、file =
C:\Users\<old_user_name>\.Android\avd\<avd_name>
です。avd\system.img.qcow2、読み取り専用:バッキングファイルを開けませんでした: '
<old_sdk_dir>\system-images\Android-22\google_apis\x86\system.img
'を開けませんでした:引数が無効です
それを修正するには2つの方法があります。
AVDに含まれているデータを気にしないのであれば、AVDディレクトリからすべてのqcow2
ファイルを削除してください(例:<user_home>/.Android/avd/<avd_name>
から)。この場合は、ハードリセット後のように、Androidのクリーンバージョンを入手できます。
エミュレータ上のデータが重要な場合は、任意のHEXエディタを使用してすべてのqcow2
ファイルを1つずつ開きます( HxD を使用します)。ベースのimg
ファイルを作成し、Overwrite
モードでファイルサイズを維持するために正しいファイルに変更します。次にパスを選択し、その長さを16進数で取得します(例:2F
)。 2F
はASCIIスラッシュ/
を表します。それを13
の位置に置きます。
シモンズ:確かではありませんが、 qemu-img のように異なるベースイメージを設定できるようなユーティリティがおそらくいくつかあります。私にとっては、バイナリを手動で編集する方が簡単です。
これで、おそらくAndroid仮想デバイスを正常に起動できるでしょう。そうだといい :)
Macの場合:brew
とAndroid Studioを使用してAndroid-sdk
をインストールしました。どういうわけか、2つのインストールがあることはこの問題を引き起こしていました。 brew cask uninstall Android-sdk
を使用してsdkのbrewインストールをアンインストールし、envに次の変数を追加したとき。出来た。
export Android_HOME=/Users/<Username>/Library/Android/sdk
export Android_SDK_ROOT=$Android_HOME
それはあなたのツールへの道が間違っていることを意味します。これは、brewを使ったMac上での様子です。バージョンを気にする.
export Android_SDK_ROOT='/usr/local/Cellar/Android-sdk/24.4.1_1'
あなたの場合、これを実行する必要があるように見えます。
export Android_SDK_ROOT='/Users/username/Library/Android/sdk'
これでmacOSの問題は解決します。
pico ~/.bash_profile
export Android_HOME=/Users/$USER/Library/Android/sdk
export Android_SDK_HOME=/Users/$USER/Library/Android/sdk
export Android_AVD_HOME=/Users/$USER/.Android/avd
export PATH=${PATH}:$Android_HOME/tools:$Android_HOME/platform-tools:$Android_AVD_HOME
source ~/.bash_profile
私は私のWindows10で同じ問題を抱えていた、
以下の手順で問題を解決しました。
Android Studioを開く
- ツール
- SDKマネージャ
- Android SDKの場所をコピーする
Android SDKの場所
システム環境変数を設定します
Android_HOMEおよびAndroid_SDK_ROOT
システム環境変数
Platfomsディレクトリが/ usr/local/share/Android-sdkにありませんでした。
私は問題を修正したplatformという名前の空のディレクトリを作成しました。
[OK]を私はcordovaからAndroidを実行することができます、私はにAndroid_HOMEを変更し、
export Android_HOME=/usr/local/opt/Android-sdk
AVD Emulatorを追加する必要があります。この場所に行きます:
C:\Users\%username%\AppData\Local\Android\sdk\
aVD Managerを起動し、2番目のタブ(デバイス定義)で「createAVD」ボタンをクリックします。
Oleg Cherrsの答えが私を解決策に導いた。彼が述べたように
/.Android/avd/に移動してconfig.iniを開きます。 image.sysdir.1プロパティを探します。 system> imagesを含むSDK内のディレクトリを指します。このディレクトリが存在し、build.prop、> system.imgなどのファイルが含まれていることを確認します。存在しない場合は、SDKマネージャを開き、AVDに必要なシステムイメージをダウンロードする必要があります(下記参照)。
対応するエミュレータ* .iniファイルがavdディレクトリに見つかりました。そこで "image.sysdir.1"エントリを修正しました。私は相対パスを絶対パスに置き換えました(前にAndroid_SDK_ROOTを追加します)。その後、エミュレータは期待通りコマンドラインから起動しました。
@EFreakと同じように私は自作(Mac用のパッケージマネージャ)でAndroid SDKをインストールしました。私はネイティブスクリプトのチュートリアルに従っていたので、これを行う必要がありました。あなたが私のようなAndroid-sdkバージョンの上にbrewバージョンを使うつもりならこの答えを使ってください(これはあなたがnativescripts tns run Android
apiを使うことを可能にするでしょう)。
基本的には、Android StudioでAndroid SDKの場所を変更するだけです。まずAndroidスタジオでプロジェクトを開きます。次に、このボタンをクリックしてSDKマネージャを開きます。
次にAndroid SDKマネージャのデフォルト設定が表示されたら、Android SDKの場所の横にある[編集]をクリックする必要があります。
次に、あなたは実際にsdkコンポーネントのセットアップ画面でsdkの場所を更新する必要があります私のbrew
Android-sdkは/usr/local/share/Android-sdk
にありました。
それでは、どんなパッケージでもインストールしてウィザードを終了してください。この段階でデバイスエミュレータを削除して再作成する必要がありましたが、その後はうまくいったようです。
今日その問題に遭遇し、それを解決することができました。
エミュレータ:[140735565005632]:エラー:Android/android-emu/Android/qt/qt_setup.cpp:28:/ユーザ/ your_user_name /ライブラリ/ Android/sdk/emulator/lib64/qt/libにQtライブラリが見つかりません
15:08エミュレータ: '/ Users/your_user_name/Library/Android/sdk/emulator/qemu/darwin-x86_64/qemu-system-x86_64'を起動できませんでした。このようなファイルまたはディレクトリはありません
解決策はとても簡単でした。 Android Studio => tools => Android => SDKマネージャ=> SDK tools => Android Emulator => Applyの順に選択してAndroidエミュレータをインストールしてください。
私はmacOS High SierraでMacBook Proを使っていますが、あなたのマシンはこの問題とは無関係だと思います。 Android Studio 3.0.1を使用して、少なくとも私にとっては初めてAndroid Studioインストールマネージャを実行するとき、エミュレータは明らかにインストールされていません。
また、あなたのパスがあなたの.bashrcまたは.zshrcで次のように定義されていることを確認してください。
export Android_HOME=/Users/your_user_name/Library/Android/sdk
export Android_SDK_ROOT=$Android_HOME
export PATH=$PATH:$Android_HOME/emulator
export PATH=$PATH:$Android_HOME/tools
export PATH=$PATH:$Android_HOME/platform-tools
私の場合は、Android_HOMEとAndroid_SDK_ROOTが異なっていたために壊れていたので、Android_HOMEをAndroid_SDK_ROOTと同じになるように設定してから動作し始めました。
AVDで使用されているシステムイメージが$Android_SDK_ROOT/system-images/
の下にダウンロードされているか確認してください
この問題を解決するには、SDK Manager.exeを使用して、不足しているシステムイメージを含むパッケージをインストールする必要がありました(「C:¥Program Files(x86)¥Android¥android-sdk」にあります)。必要なシステムイメージ( "Android-23")が "C:\ Program Files(x86)\ Android\android-sdk\system-images"にないことに気付きました。
SDK Manager.exeを実行して適切なパッケージをインストールした後、私はAndroid Studioでエミュレータを実行することができました。
これは私のために働いた解決策です:
https://www.embarcadero.com/starthere/xe5/mobdevsetup/Android/en/creating_an_Android_emulator.html
NativeScript
NativeScriptを介したAndroidエミュレーターの起動に問題がある場合は、env vars Android_HOMEおよびAndroid_SDK_ROOTがオーバーライドされている可能性があります。
自分で問題を作成する方法は、Android Studioをインストールして別のエミュレーターを生成することでした。これは、自家製のAndroid sdkを既にインストールした後にこれを行いました。
したがって、NativeScriptのインストール中に、HomeBrewを介してAndroid sdkのインストールを選択した場合、NativeScriptは上記を次のように設定します。
Android_HOME=/usr/local/share/Android-sdk
Android_SDK_ROOT=/usr/local/share/Android-sdk
その後Android Studioをインストールすると、これらの値が次のように上書きされます。
Android_HOME=/Users/[User]/Library/Android/sdk
Android_SDK_ROOT=/Users/[User]/Library/Android/sdk
したがって、当然、Android studioとAndroid SDKのNativeScript/Brewインストールとの競合があります。どちらかを削除するか、env変数に正しいパスが含まれていることを確認すると、エミュレータが起動します。
以下の手順に従って問題を解決してください。
1。
export Android_HOME=/usr/local/Cellar/Android-sdk/24.4.1
export PATH=$PATH:$Android_HOME/tools:$Android_HOME/platform-tools:$Android_HOME/bin
2。
Go to Android studio preferences => Build, Execution, Deployment => Build Tools => Gradle => Android studio => Enable embedded Maven Repository should be selected.
3。
Go to Android studio preferences => Appearance & Behavior => System Settings => Android SDK => Go to SDK Tools and select Android Emulator
他のGoogledの "ソリューション"を試してみると、のみWindowsでAndroid_SDK_ROOT環境変数を設定し、さらに追加してAndroid_HOMEとAndroid_SDK_HOME変数を削除することはXerox23の答えでした - Android_SDK_ROOTの値をimage.sysdir.1プロパティにハードコードするためにAVDのconfig.iniを編集することでした。
これは、Android Studio 3.0.1とエミュレータ26.1.4を使用し、Android Studio内からAVD Managerから仮想デバイスを起動していました。
エラーは実際に異なります。 -verboseオプションを指定して./emulatorを実行すると役立ちます。実際のエラーが表示されます。
Windowsマシンの場合:多くの設定パスを試した後、パスなどを削除します。最後にうまくいくのは、フォルダC:\Users\johndoe\.Android
を見つけてそれを削除することです。その後、あなたはあなたのAndroid Studioを昼食することができます、それはあなたに新しいAVDをダウンロードしてインストールするように頼むでしょう、そしてそれは新しい新鮮なフォルダとファイルを上書きしそして作成するでしょう。これで問題は解決します。
私はちょうどMacで同じ問題を抱えていて、これが私がしたことです:
私は初期の頃からReact Nativeをやっていたのでこの問題に遭遇しました。 Googleはコマンドラインツールを廃止し、Androidスタジオを主張しました。私にとっての解決策はコマンドラインツールを削除することでした
rm -rf /usr/local/Cellar/Android-sdk
rm /usr/local/bin/Android
指示に従ってASインストールSDK v6を起動します https://facebook.github.io/react-native/docs/getting-started.html#1-install-Android-studio
新しいAVDを作るとエラーなしで起動します