2011/01/13

Android SDK 付属のサンプルを Eclipse にインポートする

Eclipse に既存の Android プロジェクトをインポートする で既存のプロジェクトをインポートする方法を書きましたが、 Android SDK 付属のサンプルは、.project ファイルがないため、この方法ではインポートすることができません。

ただ、Android SDK 付属のサンプルはもっと簡単にインポートすることができます。


  1. ファイル → 新規 → Android プロジェクト

  2. Create project from existing sample
    ビルド・ターゲットを選択すると、そのバージョン付属のサンプルが選択できるようになります。

2011/01/11

Android のソースコードビルドでコンパイルエラー

@ Ubuntu VMware用仮想マシン (Ubuntu 8.04 LTS)

VMware 上の Ubuntu で Android のソースコード (Eclair) をビルドしてみたら、以下のようなエラーを出して止まってしまいました。

acp: file 'out/host/linux-x86/obj/EXECUTABLES/vm-tests_intermediates/tests/data' does not exist
make: *** [out/host/linux-x86/bin//../cts_dalviktests] エラー 1

repo でバージョン指定して取ってきたコードなので、おかしいと思ってググってみると、以下に「仮想マシンのメモリサイズが足りないでは」との記述が。
というわけで、仮想マシンのメモリサイズを 1024MB に変更して再ビルド。
今度はちゃんと通りました。

https://groups.google.com/group/android-developers/msg/8891b5cc57bbb223?hl=ja


2011/01/04

Eclipse に既存の Android プロジェクトをインポートする際、はまるポイント2

参考:
Eclipse に既存の Android プロジェクトをインポートする
Eclipse に既存の Android プロジェクトをインポートする際、はまるポイント1

上記を実行しても、まだエラーが出る場合は、エラーの箇所を追っかけてみます。
マーカー → エラー

よくあるのが、日本語コードの不一致です。エラーの箇所をチェックすると、文字化けがその上部に発生したりしていないでしょうか?その場合は、日本語コードを確認してみます。
  1. インポートしたプロジェクトを選択して、
    右クリック → プロパティ

  2. リソース → テキストファイルのエンコード
    その他を選択して、文字化けしないようなエンコードを選択してやってください。

これでもまだ、うまく動かない場合は、エラーの箇所を1つづつ追っかけてやる必要があります。
これはなかなか厄介です。
今後、またはまるような場合があった場合は、記事を書こうかと思います。

穀風: Eclipse に既存の Android プロジェクトをインポートする際、はまるポイント3

Eclipse に既存の Android プロジェクトをインポートする際、はまるポイント1

Eclipse に既存の Android プロジェクトをインポートする でインポートまで完了しても、私の経験では、かなりの確率でそのままでは動きません。
まず、一番最初に疑われるのが、適切なバージョンのAPIがインストールされていない場合です。

インポート直後、コンソールに "Unable to resolve target 'xxxxxxxx:xxxxx APIs:?'" のようなエラーが出ていないか確認します。
このエラーが出ている場合は、
  1. ウィンドウ → Android SDK および AVD マネージャー → Avbailable packages
    先ほどのエラーで出ていたバージョンの API をインストールします。 revision ではなく、API のバージョンなので気を付けてください。(私は何度か間違えましたww)

    また、気を付けなければいけないのが、Google Maps 等を使っているようなアプリケーションの場合、Android Repository ではなく、
    Third party Add-ons → Google Inc. add-ons
    からSDKをインストールしなければならない
    ということです。これは、Google Maps のように、一部の API は Android 標準ではなく、Google の Add-on として提供されているためです。その辺の詳しい事情は、Google Maps がらみの書籍には大抵書いてありますので、そちらを参考にしてください。
    実際、どのAPIが必要なのかは、先ほどのコンソールに出ていたエラーで大体推測できます。
  2. インストール後、
    右クリック → プロパティ

  3. Android → Project Build Target
    先ほどインストールしたターゲットを選択します。
    ここで選択する項目を間違えると、結構はまるので気を付けてください。

    インストール後、ここにターゲットが出てこない場合は一度 Eclipse を再起動すると出てくると思います。それでも出てこない場合は、もう一度 Android SDK および AVD マネージャーを開いて、インストールされているか確認してみましょう。
これでも、うまく動かない場合は Eclipse に既存の Android プロジェクトをインポートする際、はまるポイント2 を参考にしてみてください。

Eclipse に既存の Android プロジェクトをインポートする

@Eclipse Pleiades 3.6 Helios
@ADT 8.0.1
@Android SDK Rev. 8

Android でサンプルプログラム等の既存プロジェクトをインポートする方法を書いておきます。インポート自体は Eclipse でよく行う作業だと思うのですが、Android SDKのバージョンが違ったりすると、うまく動かないことがあるので、そのあたりを回避するヒントも書いておこうかと思います。
前提条件として、新規の Android プログラムは Eclipse でコンパイルして動作する状態とします。

注: .project ファイルのないサンプルは、以下の方法ではインポートすることができません。Android SDK 付属のサンプルは Android SDK 付属のサンプルを Eclipse にインポートする にインポートする方法を書きました。
2013/11/16 追記
.project のない Android プロジェクトをインポートする方法を書きました。
穀風: Eclipse に .project の無い既存の Android プロジェクトをインポートする
  1. ウィンドウ → 設定 → Android
    まず最初に SDK ロケーションが正しく設定されているか確認しておきます。
    Workspace を新規に作るとSDKロケーションが変わってしまいますので。
  2. ファイル → インポート → 一般 → 既存プロジェクトをワークスペースへ → 次へ

  3. ルートディレクトリーの選択
    インポートしたいディレクトリを選択します。選択ディレクトリ以下を検索して、インポートできるプロジェクトが一覧表示されます。
    .project ファイルがない場合は何も表示されません。その場合は、Eclipse でインポートできるサンプル等ではないので、別の方法で Eclipse に取り込んでやる必要があります。
    2013/11/16 追記
    .project のない Android プロジェクトをインポートする方法を書きました。
    穀風: Eclipse に .project の無い既存の Android プロジェクトをインポートする

  4. 完了
これで何のエラーもなく動作すればラッキーですが、そうは問屋がおろしません。
そういう場合は、
Eclipse に既存の Android プロジェクトをインポートする際、はまるポイント1
Eclipse に既存の Android プロジェクトをインポートする際、はまるポイント2
を参考にしてみてください。

2011/01/03

Cygterm で日本語エンコードを変更する

私は cygwin のターミナルに cygterm (Tera Term に付属) を使っていますが、デフォルトの日本語エンコードが SJIS になってるのです。(少なくとも、 Tera Term Ver. 4.68 では)

ただ、そのままだと、ls って打ったら日本語ファイルが文字化けしてしまうのです。
ちなみに、ls のバージョンは 8.8 です。
$ ls --version
ls (GNU coreutils) 8.8
Packaged by Cygwin (8.8-1)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Richard M. Stallman and David MacKenzie.
これを回避するには、Cygterm の設定を変えてあげればよいのですが、いつも忘れてしまうので、以下に書いておこうと思います。

変更するのは、 /KR と /KT のところだけです。

C:\Program Files\teraterm\cygterm.cfg
# CygTerm setting

TERM = ttermpro.exe %s %d /E /KR=UTF-8 /KT=UTF-8 /VTICON=CygTerm /nossh
TERM_TYPE = vt100
PORT_START = 20000
PORT_RANGE = 40
SHELL = auto
ENV_1 = MAKE_MODE=unix
ENV_2 = 
LOGIN_SHELL = Yes
# HOME_CHDIR = No
SSH_AGENT_PROXY = No