2017-01-30 12 views
0

私は次のような問題があります。エミュレータでアンドロイドアプリを実行し、特定の状態にしてから、プロセスを2つにフォークし、アプリはその状態から始まります。Androidエミュレータでアプリケーションをforkする

例:私はエミュレータでYelpを開きたいです。その後、 "Coffee"を検索し、プロセスを10にフォークし、それぞれの子プロセスで別のコーヒーの場所を開きます。

特に問題は、フォークを実行することです。

私はこの問題の解決策を探そうとしており、簡単な方法は見つけられませんでした。私が今までの可能性を探求したオプションは以下の通りです:

  1. 実際にエミュレータ内でアプリケーションプロセスをフォークします。これは完全に不可能なようです。

  2. エミュレータプロセスをアプリが実行されている状態で何とかフォークします。外部プロセスをフォークする簡単な方法はないので、特定の外部イベントが発生したときに、エミュレータコードを内部からフォークするように変更する必要があります。

  3. エミュレータをホットクローニングをサポートする何らかの種類のVMに入れます。重大なダウンタイムなしに実際にサポートしているVMは見つかりませんでした。

は、理想的には私は(Linuxではforkがどのように動作するかに類似)のメモリを倍増しない解決策を求めており、それは上記の二つを持っていないすべてのソリューションものの、大幅なダウンタイムに関連付けられていませんプロパティも受け入れられます。

+0

なんらかの理由で、あなたの質問は、この記事を@CommonswareからParallel Spaces ht tps://commonsware.com/blog/2017/01/17/droidception.html - あなたがまだそれを知らないようにする。 –

+0

@MorrisonChang、これはすぐに私の問題に対処するわけではありませんが、実際に私が直面している他の問題に非常に関連しています。 – Ishamael

答えて

1

これはかなりの作業です。直感的に、私はオプション2が最も有望であると期待します。 また、UIAutomatorスクリプトを作成し、いくつかのデバイスで並列または連続して実行することを検討しましたか?ボーナス基準は間違いなく満たされますが、十分なランタイムの後、あなたが探しているものを得るかもしれません。

  1. GOTO 3スナップショット
  2. 実行UIAutomatorスクリプトを指定
  3. レコードの調査結果
  4. 、あなたが
  5. 保存スナップショットに
  6. スポーンエミュレータをフォークしたい時の状態にエミュレータを持参
+0

(2)でスナップショットを撮るにはどうしたらいいですか?私はUIAutomatorのページでスナップショットについて何も見つけることができません、そして、エミュレータはこのオプションも持っていないようです。 – Ishamael

+0

コマンドラインオプションがあります。 $ ANDROID_HOME/tools/emulator -help – Micha

+0

を参照してください。これは私が質問で説明した正確な問題には対処できませんが、私の特定のシナリオは解決します。ありがとう! – Ishamael

関連する問題