今はCordovaやAndroidの開発をしていないので、ちょっと調べてみました。
どうもAndroid L(KitKatの次のAndroid)用のバージョンアップに伴ったAPIレベルと実装のミスマッチが原因のようです(APIレベル20でプロジェクトを作成していませんか?)。
http://stackoverflow.com/questions/25120676/android-emulator-unfortunately-hello-world-has-stopped
常に最新のSDKを自動アップデートしていて似たようなことに出くわしたことが昔ありました。
※KitKat用のSDKはリリースされていたが、エミュレータはKitKatに対応していないとか、Cordovaが対応していないとか。そういう「隙間」で何かトラぶった記憶があります。時間が解決してくれる系のものが多いですね。
まず、APIレベル20以前の過去のSDKでインストールしていないものがあったら、きちんと全てSDK Managerにてインストールしてみてください(Update Aveilableとして新しいリビジョンがリリースされているものもすべて)。
次に自分の開発しているアプリがAndroid Lをターゲットにしたものか、そうでないのかご確認ください。
※Android Lと過去のAndroidでは現在のところ互換性が無いようです。
(参考)Android Lに関して日本語で丁寧にまとめられています:
http://firespeed.org/diary.php?diary=kenz-1734
そしてプロジェクトとエミュレータのAPIレベル(AVDで作成した時のTarget APIの設定)がマッチしているか確認してみると良いと思います。
特にAndroidのマニュフェストファイルにて、Compile Withは最新のAPIレベルでコンパイルしようとしてデフォルト値がセットされますので、エミュレータ(あるいはCordova)側がアップデートについてこれていない場合やアプリの実装が過去のSDKレベル(つまりL以前)を想定したものであれば、一つ昔のAPIレベルでビルドするようにするとよいでしょう。
※Android L向けのアプリでないのであれば、APIレベル19で統一する、など最新をあえて使わないような設定をする必要がありそうだということです。
(参考)
基本的なAPIレベルに関して:
http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
デバッグはDDMS:
http://www.javadrive.jp/android/debug/
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2014/09/15 16:40