過去の投稿記事 new!
・【画像】漫画でわかる外国人参政権
・東京電力のHPで停電状態が確認できたり(サービス再開!)
・戦国時代 ~ 江戸時代の徳川家康が熱かった
・vaio のバッテリは寿命が短いような気がする
・話題の Western Digital 製 WD20EARS を購入した
・C01LC をビックカメラで買ってきた
・2025年には空中都市が現実化?!
・【動画】わかりやすい「宇宙ひも理論」
・今世紀には「富士山噴火」「東海連動地震」「首都圏直下型地震」か?
・滅びた町、南浜町が Googleストリートビューで見れる

【 amazon 送料無料キャンペーン 】

バックリンクはご自由にどうぞ!     http://mfsocket.blogspot.com/feeds/posts/default?alt=rss リンク集 / ログイン

2011/01/06
Android コマンドライン開発で日本語があるとコンパイルエラー

 
Androidコマンドライン環境で開発していると、
 
警告: 
 この文字は、エンコーディング ascii にマップできません。
 
というエラーが発生します。こいつは、
 
コメントや文字列中に日本語(他バイト文字)があると発生するので、本現象に
対応するには、下記ファイルを修正する必要があります。
 
◆Android SDK のインストールフォルダの中

android-sdk-windows\platforms\android-x\templates\android_rules.xml
 
上記の x には API のバージョンID が入ります。
編集するファイルは  android create project 時に指定した ID に対応しています。
android_rules_sjis01 
 
コマンド  android list targets  を実行すると指定した ID に紐付いた一覧が
見れます。

Android 2.2 向けに開発していた場合は android-8 フォルダになりますね、
android_rules_sjis02 
 
目的のプロジェクトがどの API で作成されているか調べたいときは、
プロジェクト内の
 
default.properties
 
をテキストエディタで開けば確認取れます。
android_rules_sjis04
 
Windows の有名エディタ一は一般的に CP932(SJIS) としてデフォルトで
保存されます。
 
上記を踏まえてビルドの設定ファイル、
 
  android_rules.xml
 
をテキストエディタで開き、ascii で検索すると修正箇所が一発で見つかります。
 
android_rules_sjis03
 
249 行目前後に見つかりました。
 
上記の ascii を UTF-8SJIS に指定する事で、本エラーの対応は完了です。
 
なお Google API を利用している場合や一部の環境では、これだけでは ascii
エラーが継続して表示される場合もあります。
 
その場合は下記手順で修正を行いましょう。
 
◆Android SDK のインストールフォルダの中 
 
android-sdk-windows\tools\ant\main_rules.xml

上記ファイルをエディタで開いた後、下記の単語で検索を行い
ascii を sjis に変える。
 
java.encoding
 
なお環境によっては、このファイルが存在しない場合もあります。
 
 
なお Java の class ファイルが持つ 内部文字コード UNICODE になるので、
コンパイル時の文字コードは、
 
ソースコードの文字コードに合わせてればOK
 
です。大半の人は SJIS だと思います。
 
 
SJIS に存在しない文字をソースコード上に埋め込みたい時は UTF-8 でソースを
保存し、UTF-8 でコンパイルする必要があります。

0 コメント:

  • コメントには <b>, <strong>, <em>, <i>, <a> など一部の HTML タグを使用できます。