戌印-INUJIRUSHI- (Androidあれこれ)

Androidのプログラミングをメインにしてます。記事に貼られたソースコードはダブルクリックすることで行番号をはずしてコピーすることができます。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
08

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Android トラブルシューティング

EclipseでAndroidアプリを開発している時に、ソースコードに問題は無いはずなのにエラーが発生してコンパイルできなくなる時があります。
以下は、私が開発中に発生したエラーを取りまとめたものです(発見次第追加)
----------------------------------------------------------------------
エラー説明の前に…
大抵の場合、Eclipseを再起動すれば直ります。
それでも駄目ならEclipseを -clean 実行。9割方これで直ります。
----------------------------------------------------------------------
Conversion to Dalvik format failed: Unable to execute dex: wrapper was not properly loaded first
Dalvikのフォーマットへの変換に失敗しました:DEXを実行できません:ラッパーが適切に最初にロードされていない

対処法:
①Eclipseを再起動
②メニューの[プロジェクト(P)] - [クリーン(N)...]
----------------------------------------------------------------------
invalid command-line parameter
無効なコマンドラインパラメータ

エミュレータ起動時に発生する。
以前は発生しなかったが、SDKをアップデートしたら発生するようになりました…

対処法:
①android-sdkフォルダをスペースの無いフォルダ階層に移動する

× C:\Program Files\Java\android-sdk-windows
○ C:\eclipse\android-sdk-windows
----------------------------------------------------------------------
This Android SDK requires Android Developer Toolkit version 14.0.0 or above.
Current version is 11.0.0.v201105251008-128486.
Please update ADT to the latest version.

*
This Android SDK requires Android Developer Toolkit version 17.0.0 or above.
Current version is 16.0.1.v201112150204-238534.
Please update ADT to the latest version.


Android SDK のアップデートを行った時に発生。
Android Developer Toolkit (ADT) のバージョンが古いので更新してください。

※このエラーが発生すると Android SDK Manager は実行できなくなります。

対処法:
①Eclipseのメニュー [ヘルプ(H) - 更新の確認] から更新。
②以下を最新にアップデートする
・Android DDMS
・Android 開発ツール
・Android Hierarchy Viewer
・Android Traceview
③Eclipse再起動
----------------------------------------------------------------------
エラーが発生しました。詳細については、エラー・ログを参照してください。
com.android.sdkuilib.internal.widgets.SdkTargetSelector.access$000
(Lcom/android/sdkuilib/internal/widgets/SdkTargetSelector;)Z


Android SDK Manager のアップデート後などに発生。

対処法:
①Eclipseを終了する。
②eclipse.exe -clean で起動する
----------------------------------------------------------------------
Obsolete proguard file; use -keepclasseswithmembers instead of -keepclasseswithmembernames proguard.cfg
proguard.cfg が旧式: -keepclasseswithmembernames の代わりに -keepclasseswithmembers を使え

ADT 16 から導入された Run Android Lint によるソースチェックによるエラー。

参考サイト:Gamekozo's Library - Androidでapk出力エラー

対処法:
①keepclasseswithmembernames → keepclasseswithmembers に修正
※新プロジェクトを作成して proguard.cfg をコピーでも可(自分はコレで対応)
②次回 Eclipse起動時に同じエラーが出た場合、[ウィンドウ(W)] - [Run Android Lint] でエラーが消える
----------------------------------------------------------------------
java.lang.NoClassDefFoundError
(外部Jarの)クラスパスが通っていないためエラーが発生。

ADT 17 以降、外部Jarは libs フォルダでのみ管理されるようになったために発生。
.jar ファイルを libs フォルダに入れるだけで勝手に組み込まれるようになりました。
ビルド・パスは無視されます。
ADT 16 以前であればビルド・パスの漏れ。

参考サイト:Yet Another Diary - Androidで外部JarがAPKファイルに取り込まれなくなった時の対処法

対処法:
①ビルド・パスから追加したJarを削除する
②外部Jar を libs フォルダに移動する
----------------------------------------------------------------------
スポンサーサイト

Comments

Leave a Comment


Body
プロフィール

とむ・やむくん

Author:とむ・やむくん
管理人について

Windows 7 / 64bit
Eclipse 4.2 Juno (日本語パッチ済)

スポンサーサイト
最新トラックバック
検索フォーム
ブロとも申請フォーム
QRコード
QR
Twitter
2013/01/04 19:00 カウント開始

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。