トップ «前の日記(2011/06/20(Mon)) 最新 次の日記(2011/06/24(Fri))»
【ソース+水=麦茶色の何か】

半期 四半期 全カテゴリ

今日の一言


2011/06/21(Tue) ここのタイトルを考えるのがたまに面倒になる [長年日記] 0:00現在にわか雨/積乱雲 24℃

_ [雑記]Webページの表示にかかる時間を分析してくれるサイト(自分のHPの重さをチェック)

さて、これは重いと見ていいんだろうか?

_ [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や適当なテキストエディタで文字コードを調べておく必要がある。

オプションの指定方法は以下の通り。

  1. Eclipseを起動し、「ファイル」から「エクスポート」を選択
  2. 「エクスポート」から「Java」⇒「Javadoc」を選択し、「次へ」
  3. 「Javadocコマンド」に「Javadoc.exe」をフルパスで指定し、「次へ」
  4. さらに「次へ」
  5. 「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"

これはコマンドから実行する場合でも同様。