低スペックPCでAndroid開発(ちょっとしたネタ帳)

お問い合わせから以下のメッセージを頂きました。

Hyperland Plus 管理者和様 --- 中略 --- マシンスペックが低いためAVDの作成すらままならない状況ですが、 現状、高スペックのマシンを買えない状態です。 もしよろしければ、ブログでそういった低スペックのマシンでも 「こんな技があったのか!!!」のようなものがあれば、ぜひ掲載して いただけると幸いです。

あれ?どうして名前を知っている・・・?と言うのは置いといて、お役にたてるかどうかはわかりませんが、私がAndroid開発で絶対にする技を紹介します。ただ、すいません時間がないので画像は無しです。近々取りまとめてメインサイトで公開します。あくまでも以下は低スペックのPC用の対策です。

1.SnapShot(スナップショット)を作る。

まず、PCに負荷がかかっていない状態(他のアプリケーションは起動させない)でSDK Manager.exeを起動します。(デフォルトはC:¥Program Files¥Android¥android-sdk内)

Eclipseからも起動できますが、Eclipseが起動している事自体がPC負荷なので必ずSDK Manager.exeから起動します。

「Android SDK and AVD Manager」が起動したら、「Virtual devices」で「New」をクリックします。

  • Name:適当に仮想デバイス名をつけてください。
  • Target:API Level8あたりが無難、Google APIsを使用しない場合必ず「Android 2.2 - API Level8」を選択。Google APIsは若干負荷が高い
  • SD Card:適宜指定
  • SnapShot:必ずEnabledにチェックを入れる。
  • Skin:Built-inは、「HVGA」あたりを推奨。大きすぎるサイズを選択すると負荷が高くなる。
  • Hardware:適宜指定

作成した仮想デバイスにカーソルを当て、「Start」をクリック。Launch Optionsの「Lanch from snapshot」と「Save to snapshot」にチェックを入れ「Launch」をクリック。

タスクマネージャーを立ち上げ、プロセスの「emulator.exe」横のメモリをチェックします。徐々に数値が上がっていると思います。

上でPC負荷がかかっていない状態と書いたのは、他プロセスが動いているとメモリ数値が高くなるのが遅い・・・汗

だいたい500,000Kから始まって140,000~160,000Kぐらいまで上がるようです。

とりあえず、ここはこれ以上改善出来ないのでメイン画面が立ち上がるまで待ちます。メイン画面(海背景?)が立ち上がったら「日本語化設定ぐらいは可」を行いメイン画面に戻し、×ボタンでエミュレータを閉じます。

※設定をあまりし過ぎると若干負荷が上がるための必要最小限構成。

SnapShotをとっているので、終了には時間を要します。絶対に何度も×ボタンを押さない。(強制終了となりスナップショットが破損した状態で保存されるため。)タスクマネージャーから「emulator.exe」が完全に消えたらSnapShot取得完了です(SnapShotをとるため時間がかかります)。「Android SDK and AVD Manager」も終了させて下さい。

2.SnapShot(スナップショット)のバックアップを取っておく。

「%userprofile%¥.android¥avd」にアクセスし上記で作成した仮想デバイス名のフォルダと仮想デバイス名のiniファイルをバックアップを取っておきます。

万が一、何らか(強制終了等で)の処理で、AVDが壊れた場合などは、バックアップで上書きすると状態を戻せます。

3.Eclipseを起動する。

Eclipseを起動したら、Eclipseのメニューから「Android SDK and AVD Manager」を起動し、上記で作った仮想デバイスを起動させるのですが、「Lanch from snapshot」横のチェックは必須「Save to snapshot」横のチェックを外して起動させます。

「Lanch from snapshot」は前回終了時の状態から起動するため、前回上記で作成したSnapShotから起動するため高速で起動します(と言ってもしれていますが)。そして「Save to snapshot」は終了時の情報を再度SnapShotに保存するため不要です。

そして、Eclipse起動中はエミュレータは閉じる必要はありません。実行構成でターゲットを起動中の仮想デバイスを指定すれば、起動中の仮想デバイスでちゃんと起動してくれます。

絶対にやってはいけない事は、エミュレータを起動していない状態で、Androidアプリのデバッグや実行をしないこと。おそらくSnapShotを利用していないため、エミュレータ起動に時間を要しますし、せっかく上記で作成したSnapShotが「宝の持ち腐れ」となります。

以上長々と書きましたが、低スペックマシンで役立つAndroidネタがあれば是非コメントを!あと、諸事情により7月いっぱいは、お問い合わせいただいてもブログに反映できません。

   

— posted by Kazu(管理者) at 09:51 am