トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

troubleshooting_android

トラブルシューティング (2012/07/22)

android SDK + Eclipseで試していて引っかかった問題で、解決できた点を覚書。

PCとタブレットをつないでも認識していない

問題

android SDKの「ddms」で見ても、PC側からタブレットを認識していない。また、タブレットから見ても右下に「メディアデバイスとして接続」「USBデバッグが接続されました」のメッセージが表示されない。

解決策

android開発環境のインストール」でのインストール設定が正しく行われているのを確認。インストールでの接続確認はできている場合は、一度タブレットの電源を(スリープでなく)落とすようにしてから再度起動させてみる。

helloWorldのアプリがビルド失敗

問題

プロジェクトを作る際に、android application projectで「helloWorld」という名称で作成すると、プロジェクトが生成されたときにエラーが出てビルドすらできない。

現象

アプリの「AndroidManifest.xml」や「layout/activity_main.xml」にて勝手にタグが追加されていて、それがエラーにつながっている。

原因?

過去、コマンドラインのJavaプロジェクトで「helloWorld」のテストプログラムを作っていたことがある場合など、ゴミが残っている際に怪しい動き。

プロジェクト名を「helloWorld2」などにしたらうまくいくことから、どこかで名称が過去のゴミと混ざってしまっている?

解決策

  • メニューより「Project」-「Clean」を実行する。
  • メニューより「Run」-「Run Configurations」を選択し、表示ダイアログのツリー部の「Android Applications」「Java Applications」に「helloWorld」があれば削除してみる。
  • android SDKの「SDK Manager」を実行し、一度対象のSDKバージョンでの「SDK Platform」「Samples for SDK」をアンインストール、再びインストールしてみる。

とりあえず、3つめの作業を行うとうまくいった。

xmlファイルが不正に書き換えられてしまう場合、動作するように変更する手順は「サンプルアプリの実行」にて記載。

サンプルのApiDemosなどをウィザードで読み込むとエラーが出てビルドできない

問題

サンプルであるApiDemosやWidgetsPreviewなどを、新しいプロジェクトとして読み込んだ場合に、コンパイルエラーが出てしまう(@Overrideが不要、などのエラー)。

原因

コンパイルするJavaのバージョンが1.5になっている。1.6に変更する必要がある。

解決策

「Package Explorer」の対象プロジェクト(パッケージ)を右クリックしてポップアップメニューより「Properties」を選択。左のツリー部より「Java Compiler」を選択し、「Compiler compliance level」にて「1.5」となっているのを「1.6」に変更。「Apply」ボタンを押して、「OK」ボタンを押して閉じる。

エミュレータを作成できない

問題

「AVD Manager」にてエミュレータを作成しようとすると失敗する。

原因

「ARM EABI v7a System Image」がインストールできていない。

解決策

android SDKの「SDK Manager」を起動し、各使用バージョンでの「ARM EABI v7a System Image」をインストール。また、「AVD Manager」にて、新規にエミュレータ環境を追加する際に、「CPU/ABI」のドロップダウンが選択できるようになっているのを確認。ここでARMを選択。

エミュレータが起動しても、「android」のロゴから先に進まない?

問題

エミュレータで動作テストする場合に、エミュレータのウィンドウが出て「android」のロゴが出るが、一向に進む気配がない。

原因

エミュレータの起動自身が遅いだけ。1分以上待たないと進まないです。根気強く待ちましょう。

確認時はエミュレータを一度起動したら閉じずに置いておくと、2回目以降はそんなに待たずにすみます。

エミュレータが起動してから何分待っても真っ暗なままで進行する気配がない

問題

エミュレータで動作テストする場合に、エミュレータのウィンドウが出て真っ暗なままで何分待っても画面が出る気配がない。androidのロゴマークも出ない。Windows 7 (64-bit) 環境にて確認。

原因

「GPU emulation」がYesの場合に、エミュレータ上のスクリーンの画面サイズが大きいと先に進まずに真っ暗なままになるか、エラー(クラッシュ)を出すことがある模様。

解決策

「AVD Manager」を起動し、対象のエミュレータの設定を「Edit」ボタンを押して変更する。

ダイアログ上にて、以下の手段を試す。

  • Hardwareのところの「GPU emulation」がある場合に、noにしてみる
  • 「GPU emulation」はYesにしておきたい場合
    • 「Skin」-「Build-in」での解像度指定を下げる(WXGA800 → WSVGAなどに変更)。
  • 「GPU emulation」はYesにして、解像度も下げたくない場合
    • 今のところ解決手段はなし?device ram sizeを小さくしても起動できない。

どう見ても正しいのに構文エラー(Parser Error)が消えない

問題

プログラムを書いている最中に自動コンパイルでエラーが出てしまう。

原因

Javaでの部分的なビルドで整合性が保たれない?これはandroidの問題ではない。

解決策

Eclipseのメインメニューから「Project」-「Clean」を選択する。しばらくビルドが完了するまでは、一時的にエラーが増えるように見えるが待っておく。

Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.