15

タイトルが言うように、Androidエミュレーターはどれくらい「良い」ですか?

私はAndroidスマートフォンを持っていませんが、テスト環境としてエミュレーターを使用して純粋に開発することは可能ですか?

それについての私の最初の質問:

  • エミュレーターは通常のAndroid携帯電話と同じくらい応答性がありますか(もちろんこれは正確な携帯電話に依存しますが、一般的に)?
  • エミュレータのメモリを制御する方法はありますか?
  • 電話でフラグが立てられているがエミュレータではない問題が発生した人はいますか?またはその逆?
  • 全体を通して、またはエミュレーターを再帰的にテストし、最後に電話でテストする通常のテスト手順は何ですか?

フィードバックをいただければ幸いです。

ありがとう、

4

6 に答える 6

7

Q: エミュレーターは通常の Android フォンと同じくらい反応しますか?
A: 絶対にありません!最悪の例は 3D です。これは、私の知る限り、ソフトウェア エミュレーションのみです。

Q: エミュレータのメモリを制御する方法はありますか?
A: 指定してください。SD カードのサイズは設定可能です。RAM/VM メモリは...わかりません。

Q: エミュレーターではなく電話で報告された問題を抱えている人はいますか? またはその逆?
A: 各デバイスには独自のカスタマイズがあります。エミュレーターでは画面解像度のみを変更できますが、注意: エミュレーター画面のサイズは、設定したピクセル密度によって異なります。そのため、大きなエミュレーターでは見栄えがよくても、実際のデバイスでは小さすぎる可能性があります。また、指はマウス カーソルほど大きくなく、正確ではないことを忘れないでください。

Q: 全体を通して、またはエミュレーターを再帰的にテストし、最後に電話でテストする通常のテスト手順は何ですか?
A: 機能は、主に Nexus One などの (高速) デバイスでの実装中にテストされます。実装後の実際のテストは、できるだけ多くのデバイスで行われます。UIも(ほとんどの違いがあります)

私は最新の SDK を搭載したデバイスを持っているので、デバイスでテストすることを好みます。アプリのプログラミングには必要ありませんが、実際のデバイスで少なくとも 1 回のテスト ラウンドを行わずにアプリを公開しないでください :)

于 2010-03-01T14:10:32.067 に答える
3
  1. はい、エミュレータは非常に高速です。
  2. はい、エミュレートするターゲットの RAM サイズを設定できます。
  3. 誰かが持っていると確信していますが、私は持っていません。
  4. 私は通常、開発中にエミュレーターでテストし、長期的なテストの準備ができたら G1 でテストします。その後、1.5、2.0、および 2.1 ターゲットとの互換性を確認するときに、エミュレーターでテストします。

ターゲットがサポートするオプションについては、こちらを参照してください。これらを設定するための GUI ツールもあることに注意してください。

于 2010-03-01T14:17:12.160 に答える
1

エミュレータがどの程度「優れている」かという一般的な質問に答えるには、エミュレータとは何かを調べる必要があります。

エミュレーターは、エミュレーションを使用して開発者のマシンでアーム命令を実行できるソフトウェア (qemu) です。これは、エミュレーターが、物理デバイスで実行されているものと同様の Android プラットフォームを実行することを意味します。このセットアップは、プラットフォームがターゲット ハードウェアではなく開発マシン用にコンパイルされているシミュレーターを使用するよりも優れています。ただし、次のような多くの制限があります。

  • 周辺機器のサポート - モバイル プラットフォームには、Bluetooth、wlan、gps、無線アクセス、グラフィックス アクセラレーションなどの多数のコンパニオン チップが含まれています。これらはすべて、エミュレータで予測できず、シミュレートするのが難しい方法でメイン CPU とやり取りしています。インターネット アクセスのように制限付きでサポートされているものもあれば、Bluetooth のようにまったくサポートされていないものもあります。
  • パフォーマンス - エミュレータは実際のプロセッサではなく、実際のデバイスで利用可能な物理アクセラレータを使用しない場合があります。また、ホスト マシンのハードウェアをさまざまな目的で使用するため、実際のデバイスでのテストとはメモリ アクセスや同様の項目の動作が異なります。

一般的なルールは、最終的に驚きを避けるために、可能であればデバイスでできるだけ多くのテストを行うことです. エミュレーターは、一般的な機能のテスト、明らかなバグを回避するための初期テスト、さまざまな画面サイズでのレイアウトと UI の見栄えの確認などに適しています。ネットワークのやり取りなど、外部とやり取りするときのパフォーマンスが重要なテストや動作に関しては、エミュレーターはお勧めしません。アプリケーションに重大な問題があるが、エミュレーターが現実世界で十分に機能することを「十分に」信頼していないことがわかる場合があります。

于 2010-03-01T15:29:38.750 に答える
1

他の回答はすでにカバーされているため、#3のみに回答します。

エミュレーターのみに存在し、デバイス自体には存在しない問題がいくつかあります。大きな問題の 1 つは、空港モードがエミュレーターで機能しないことです。空港モードをオンにしても、インターネットは機能します。

また、株式エミュレーターを使用しているだけでは市場にアクセスできません。つまり、アプリが株式エミュレーターと対話しようとしても、エミュレーターを介してテストすることはできません。

実際のデバイスとエミュレーターの間で遭遇した他のいくつかの小さな問題があることは知っています。エミュレータだけで開発しないことを強くお勧めすることは十分にあります。

于 2010-03-01T16:11:27.293 に答える
0

エミュレーターのみを使用すると、テストでカバーする模擬テストがさらに増えます。

-タッチ -センサー

センサー/デバイスの動き、ウェブカメラを使用したカメラなどをシミュレートするためにプラグインするフレームワークがあります。

于 2010-03-12T21:16:08.727 に答える
0
  1. AVDエミュレーターのようなエミュレーターを使用するにはメモリが必要です。エミュレーターはテストには適していますが、理由もなくクラッシュする場合があります。
  2. はい、この設定は何度でも変更できます。
  3. しばらく前は加速度計をエミュレートできませんでしたが、今はできます。
  4. アプリを実際のデバイスでテストすることを好みます。私は自分のアプリを実際のデバイスでテストすることを好みますが (友人がアプリをクラッシュできず、JUnit テストが機能する場合は問題にならないはずです)、エミュレーターで別の画面サイズをテストします。
于 2012-07-11T09:20:56.883 に答える