0

Androidオペレーティングシステムを実行するNookデバイス(Barnes and Noble製)用に2つのエミュレーターを追加しました。

構成後、実行しようとしましたが、実行するAVDを選択した直後に、このランタイムエラーが発生しました。

[2013-01-07 16:59:15 - Emulator] Failed to allocate memory: 8
[2013-01-07 16:59:15 - Emulator] 
[2013-01-07 16:59:15 - Emulator] This application has requested the Runtime to terminate it in an unusual way.
[2013-01-07 16:59:15 - Emulator] Please contact the application's support team for more information.

なぜこれが起こったのか、そしてそれを修正するために私が何ができるのか誰かが知っていますか?

ありがとうございました!

4

2 に答える 2

1

次のような問題が発生した場合

メモリの割り当てに失敗しました:8

これは通常、AVDが完全に動作するのに十分なメモリを取得できないことを意味します。良い最初のステップは、ADVマネージャーを開き、RAMの使用量が少なくなるようにAVDを編集することです。私の構成は512MBですが、当然のことながら、これはマシンによって異なります。256MBから開始し、後処理することをお勧めします。

AVD RAM

それでも失敗する場合は、コマンドライン/ターミナルからエミュレータを実行します。

emulator -avd -yourAVDName

そして、ログが生成されるかどうかを確認します。次に、もしあれば、AVDが機能しない理由についてより具体的な原因があり、より多くの調査を行うことができます。

于 2013-01-08T02:17:56.963 に答える
0

このメモリの問題は、Windowsではエミュレータが32ビットプロセスとして実行されるため、2GBのユーザーメモリしか取得できないために発生します。これは、大容量メモリと大画面の両方をサポートするには明らかに不十分です。

この問題は、emulator-arm.exeをlargeaddressawareとしてマークすることで解決しました。これにより、使用可能なメモリが3GBに増えます。

これは、VisualStudioの一部として利用できるeditbin.exeを使用して実行できます。

editbin /largeaddressaware <path-to-android-sdk>\tools\emulator-arm.exe 

exeは署名されていないので、完全に文句を言うことはありません。それでも、これは単なるハックであり、アプリケーションが2GBの制限を超えるアドレスを正しく処理する準備ができていない場合、問題が発生する可能性があるため、自己責任で使用してください。

私の場合、これがWXGA800の解像度でandroid-17(4.2)を実行できる唯一の方法でした。そうしないと、メモリを256MBに減らしても機能しませんでした。

ところで、変更は簡単に元に戻すことができます。次のコマンドを実行するだけです。

editbin /largeaddressaware:no <path-to-android-sdk>\tools\emulator-arm.exe 
于 2013-01-09T21:39:31.723 に答える