読者です 読者をやめる 読者になる 読者になる

WindowsでAndroidアプリを動かす時ハマったこと

私事ですが転職先見つかりました。
皆様からの転職祝お待ちしております。
...前回色々送って頂いた方には本当に感謝しきりです。ありがとうございました!


それで少しでもスキルを広げるため、本当に今さらだけどAndroidアプリでも作ってみようかと思った。
Androidデバッグ起動するための環境構築は
基本的にこの記事を参考にしたのだけど、
試しにHelloWorldアプリを起動してみるだけでも環境構築に少々手間取ったので記録しておく。

WindowsAndroidアプリをデバッグ起動した際にAndroid Emulatorで「Unfortunately,(プロジェクト名) has stopped.」と出る

自分は初回インストール時に、単純にチェックボックスがオンになっている最新のSDKをインストールしたが、それがまずかったらしい。

Android 4.4WはAndroid WearのためのSDK?で、携帯端末やタブレット向けのものではないとのこと(要出典)。
とりあえずAndroid 4.4.2 (API 19)」をインストールし、Eclipseでのビルドではそれをターゲットにすればいいらしい。

4.4W is Android Wear SDK. (dont target to android wear device)
try changing target sdk version to 19
check here targetSdkVersion setting
Do not use API Level of 20 and Platform 4.4W (which is Android Wear SDK) as Android Virtual Device.
Use API level 19 and platform 4.4.2 everything works fine.

runtime error - android.util.AndroidRuntimeException: You cannot combine swipe dismissal and the action bar - Stack Overflow
対処法
  1. Android 4.4.2 (API 19)」をSDK Managerでインストールして
    • しかしSDK Managerは管理者権限付きで実行しないとインストール失敗する事に注意(次項参照)。
  2. Eclipseの実行(デバッグ)構成で「Android 4.4.2 (API 19)」をtargetにする

Windowsの管理者権限の問題でSDKがインストールできない

という訳で「Android 4.4.2 (API 19)」を追加でインストールするため、
「C:\Program Files (x86)\Android\android-sdk\SDK Manager.exe」を起動してインストールしたら解決…したのだけど、ここにも落とし穴があった。
SDK Manager.exeを管理者権限で実行しないとインストールできない。

対処法

SDK Manager.exeを管理者権限で実行する。


自分はよく使うソフトはショートカットを1つのフォルダにまとめておいて
fenrirってランチャーソフトでそこから起動させている。
なので

  • AVD Manager.exe
  • SDK Manager.exe

の2つのショートカットをそのフォルダに放り込んで
管理者権限付きで実行できるようプロパティを変更した。

Eclipseを再起動しないと作ったAVDが反映されない

AVD Managerで作ったAVDがEclipseの実行(デバッグ)構成に反映されなかった。

対処法

Eclipseを再起動したら直った。

Android Emulatorクソ重い

Android Emulatorは以前仕事でも触れた事があったので
クソ重いのは知ってたけど、やっぱりクソ重いとデバッグする気にもならない。

  • CPU:Core i3-4130 3.40 GHz
  • GPU:1696 MB
  • メモリ:4 GB

こんなそこそこハイスペック*1な環境ですら重い。

対処法

以下の通りにすると多少マシになるかもしれない。

Android Emulatorは常に動かしっぱなしにしておく

こうすれば起動時間だけは短縮できる。
以下はHelloWorldAppにボタンだけ追加した直後の画面で、
この状態でデバッグボタン押せば(新しいEmulatorが起動することなく)
既存Emulator内でボタンが付いたアプリが動いた。

「ホストGPUを使用する」のチェックボックスをオンにしておく

*1:以前は静音ミニPC使ってたので更にうんこスペックだった