[Eclipse] Android SDK と CDT を共存させると奇妙な動きをする件

この記事は3年以上前に書かれた記事です。情報が古い可能性があります。

Eclipse に CDT(ツールチェーンは MinGW)と Android SDK の両方を入れると変な挙動を見せたので、その注意喚起的なメモ。

ご承知の通り、CDT は C/C++ の開発環境です。一方で Android SDK は Java の環境です。

状態としてはこんな感じ。

  • Eclipse 3.5.2(JRE 1.6)
  • CDT 1.0.0
  • Android SDK 0.9.7

本来、CDT と Android は関係ないはずなんですが、Android のアプリを実行(もしくはデバッグ)で起動すると、なんと C のビルドが動く。しかも、今開いてるプロジェクトと全然関係ない他のプロジェクトがコンパイルされる!(C-ビルド[(Cのプロジェクト名)] という表示が出て MinGW のビルドメッセージが表示される)

なぜ?!

Google先生に聞いても、NDK云々の話しか出てこないし、これで悩んでるのは私だけでしょうか。それでも Android アプリは動くのだけど、困るのは、コンソールに Android アプリのデバッグ情報が表示されないってこと。何で C がしゃしゃり出てくるのよ。

コンソールが表示されるパースペクティブに「選択されたコンソールの表示」というドロップダウンがあって(モニタみたいなアイコンのボタン)、これを開くと「DDMS」というのと「Android」という選択肢がある。これで「Android」を選んでやれば、とりあえずAndroidが吐き出すログは表示されるようになる。でも、やっぱりCビルドは実行される。

「ウィンドウ」→「ビューの表示」→「その他」から「Android」→「LogCat」を選ぶと、Android 専用のログ表示画面が出てくる。出てくるが、意図しないCビルドが実行されるのは変わらず。まぁデバッグ自体はこれでできるけど、どうもキモチワルイ。

結論としては、C/C++開発環境として使う Eclipse と、 Android(Java)開発環境として使う Eclipse は分けておいた方が良さそう(同じ Eclipse は使わない)というのが、一番無難な解決かなと。

Eclipse は何でもできるからといって 混ぜるな危険 ということで。

タイトルとURLをコピーしました