今日の一言
2011/06/21(Tue) ここのタイトルを考えるのがたまに面倒になる [長年日記] 0:00現在にわか雨/積乱雲 24℃
_ [Android][Debian][Ubuntu][Linux][FC][GALAXY S][Windows]AndroidのプロジェクトファイルをJavadocにかける際に生じうるエラーの対処法(文字化け,パッケージが見つからない)
具体的には以下のようなエラーが出た場合の対処法について書く。
hogehoge.java:60:警告:この文字は、エンコーディング MS932 にマップできません。 * 菴懈?占???シ壻シ願陸譎?螟ァ ・ ・ import android.app.AlertDialog; hogehoge.java:10: パッケージ android.os は存在しません。 import android.os.Bundle; hogehoge.java:12: パッケージ android.widget は存在しません。 ・ ・ ^ hogehoge.java:31: シンボルを見つけられません。 シンボル: クラス Activity public class MyActivity extends Activity ・ ・
これには2つの原因があるので、それぞれ解決していく。なお、ここではEclipseを使ってのJavadocの実行について述べるが、コマンドの場合も同様の手法で解決できる。
文字化けを直す
参考:
http://www25.atwiki.jp/dotcom/pages/318.html
こちらは単純に、ソースコードのエンコードが想定していたのと違うことが原因。
Windowsの場合Eclipseが吐き出すコードはUTF-8なので、Javadocのオプションに文字コードとしてUTF-8に指定して実行すれば解決できる。
Linuxの場合はディストリビューションによってデフォルトの文字コードの設定が違うため、nkfや適当なテキストエディタで文字コードを調べておく必要がある。
オプションの指定方法は以下の通り。
- Eclipseを起動し、「ファイル」から「エクスポート」を選択
- 「エクスポート」から「Java」⇒「Javadoc」を選択し、「次へ」
- 「Javadocコマンド」に「Javadoc.exe」をフルパスで指定し、「次へ」
- さらに「次へ」
- 「Javadoc引数を構成する」という画面になるので「追加のJavaDocオプション」のところに以下の行を追加
-encoding UTF-8 -charset UTF-8
ここではUTF-8を指定しているが、この部分は自分の環境に合わせた文字コード書き換えること。
この状態で完了を選択すれば、文字化けのエラーは消えたはず。
パッケージおよびシンボルが見つからないのを直す
参考
http://osdir.com/ml/Android-Discuss/2010-02/msg00134.html
こちらも、Javadocのオプションから「android.jar」のクラスパスを指定することで解決できる。
オプションの指定方法は上と同じなので省略。
「追加のJavaDocオプション」に以下の記述を追加すればいい。
-classpath "C:\Program Files (x86)\Android\android-sdk\platforms\android-7\android.jar"
なお、「android.jar」のパスは環境によって異なるので適宜修正すること。また、対象とするAndroid OSのバージョンによっても「platforms」以下が変わってくることに注意すべし。
まとめ
Javadocを実行する際にオプションで以下を指定すればいい。
-encoding UTF-8 -charset UTF-8 -classpath "C:\Program Files (x86)\Android\android-sdk\platforms\android-7\android.jar"
これはコマンドから実行する場合でも同様。
[TrackBack URL: http://akihiro-i.net/~akihiro-i/diary/tb.rb/20110621]