■つまずいた!(emulator編) | 虹色金魚熱中症

虹色金魚熱中症

虹色金魚の管理人カラムが詩とお話をおいています。

拙いコトバたちですが読んでいただければ幸いです。

*************************************************

■まえおき~■

C++、C、アセンブラをちょっと・・・くらいしかしてこなかったので、久々にお勉強を・・・(;´▽`A``

そうだ! javaってみよう!

そうだ! どうせならAndroidで!

そんなこんなで手探りなAndroidの日々を綴ります。綴るっていうか、メモです。メモです。

 

※手探りにつき、変なこと書いているかも・・・詳しい方、フォローもらえると嬉しいです!

*************************************************

 

■つまずいた!(emulator編) 

 



■ずっとEclipce(Android2.3.3)開発していたのに、なぜか今日はemulatorが死ぬ…
 

「問題が発生したため、emulator-arm.exe を終了します。 ご不便をおかけして申し訳ありません。」

のダイアログが表示され、emulatorが落ちてしまう。
追加したActivityが誤動作しているのかしら?とも考えたのですが、追加した画面で落ちるわけでもなく、落ちる場所もまばら。
 

昨日まで動いていたのになぜ?
 
検索してみたけれど、メモリ不足が考えられるとのこと。
いや、でもメモリは十分だよ? うんうんなってたら、下記の情報が。
 
 SDKロケーションのパスにスペースが入ってるのが悪い?
 確かに
 C:\Program Files\android-sdk-windows
 こうなっていた。
 
 C:\android-sdk-windowsに持っていき、
 「ウィンドウ>設定>Android」 の 「SDK ロケーション」 のファイルパスを変更したら動いた。
 
 でも昨日までは動いていたんだ!どうしていきなり?

 

 

■Eclipce(Android2.3.3)でずっと開発していたのですが、今回Android4.0.3でプロジェクトを作成してみた。
 
「emulator-5554 disconnected! Cancelling ' (パッケージ名) activity launch'!」

とコンソールに表示されてemulatorが起動できない。

emulator画面が起動後、「問題が発生したため、emulator-arm.exe を終了します。 ご不便をおかけして申し訳ありません。」のダイアログ表示後に落ちるのです。
 
 下記を参考にして何とか解決。
 
 http://d.hatena.ne.jp/todomasa/20100806/1281085604
 
 上記にある、
 1《実行》-《実行構成》を選択
 2実行構成ウィンドウの《共通》タブを開きます
 3画面下の「バックグラウンドでの起動」チェックボックスを外します
 
 これで何とか解決。
 
したと思ったら、そうでもない…なんどか修正→起動を繰り返していたら、再び同じダイアログ出現。
もうよくわかんない。

 

 
■Android2.3.3で実行していたものをAndroid4.0.3で実行してみた。
 
 コンソールに
 org.eclipse.swt.SWTException: Invalid thread access
 が表示されて、アプリ画面が固まる。……よ、よくわからない。いつか調査。
 
 →よくわからないまま、別のPCでもういちどSDK等を入れなおしてみた。
  動くようになった……。
 
そのプロジェクトをさらに、元のPCに持ってきてインポートしてみた。
「Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.」
がコンソールに表示。なんだね、これは?
 
 コンパイラのレベルが違うの? そんなわけで、もとのPCのEclipce環境と比較してみた。
 確かに違った。
 プロジェクトを選択して右クリック→「プロパティー」→「Javaコンパイラー」
 ここで、プロジェクト固有の設定にチェックを入れる。
 JDK準拠のコンパイラー準拠レベルを変更。カラムは1.7→1.6にした。
 
 動いた。
 

 

■ほかのPCから持ってきたアプリをインポートして実行すると
「Your project contains error(s),please fix them begore running your application」が出た。
→クリーンすればいいとのこと
してみたらクリーンできなかったとエラーダイアログがでた。

ソースの一部を修正して、もういちどクリーンしたら直った。

 

 

■Eclipseで実行したらタイムアウトになった。

 

コンソールにこんなんでました。

========================================================
Failed to install Test.apk on device 'emulator-5554': タイムアウト
起動はキャンセルされました!

========================================================

えー。さっきまで起動できてたのに!

 

ビルドもできている。だけど、起動しようとするとタイムアウトでアプリがインストールできていない!

(エミュレータ自体は起動する)
どうも、AVD上にアプリをインストールする段階でタイムアウトが発生している。メモリやCPUのマシンスペックが低いと起こったりするらしい。

 
ので、タイムアウトの時間を調整してみる。

 

Eclipseの「ウィンドウ」→「設定」→「Android」→「DDMS」→「ADB接続タイム・アウト(ミリ秒)」
 

上記を5000→10000に変更してみた。

 

うむ。同じタイムアウトだ。チクショウ。というわけで、更に上記を50000に。

ついでにビルドクリーンをしてからの実行。

ちゃんとインストールできたよ!