最新のCDT Plugin/ADT Plugin/Android SDK/Android NDKの組み合わせで「Unresolved Inclusion」のエラーが多発するので、その解決方法をメモ。結論から言うと、単体のEclipseにCDT Pluginをインストールし、ある箇所の設定を変更した上でADT Plugin/Android SDK/Android NDKをインストールすれば解決する。
以下にWindows環境での具体的な手順を載せる。Macでも同様の手順でインストール可能だと思われる。
2. CDT Pluginの導入
Eclipseを起動し、Help→Install New Software……を実行。「Work with」の欄で「Juno」を選び、下のパッケージ一覧からProgramming Language→C/C++ Development Toolsにチェックを入れてインストール。再起動を求められるので再起動する。
3. 設定の変更
ここが(たぶん)重要。
EclipseのメニューからWindow→Preferencesを開き、C/C++のセクションにある「Property Pages Settings」を表示する。「Display "Preprosessor Include Paths" tab and enable language settings providers」のチェックを外す。この部分がCDTの最近のバージョンで追加された機能で、Android NDKとの相性がよくないようだ。
チェックを外したら必ず「Apply」を押しておく。
4. Android SDK/NDKの導入
公式からAndroid SDKをダウンロードする……のだが、いきなり「Download the SDK」のボタンを押さずに「USE AN EXISTING ONE」のセクションを開き、「Download the SDK Tools for Windows」を選ぶ。これでEclipseが同梱されていない単体のSDKをダウンロードできる。ダウンロードが完了したら、インストーラを実行してインストールする。
併せてNDKをダウンロードして適当な場所に配置する。通常の手順と同様、各プラットフォーム用のものを選べばOK。
5. ADT Pluginの導入
CDT Pluginの導入と同じ手順でInstall New Software……を開き、「Work with」の欄に「https://dl-ssl.google.com/android/eclipse/」を入力してAddする。表示用の名前を聞かれるので、適当に「ADT」とかにしておく。下の欄にDeveloper ToolsとNDK Pluginsが表示されるので、両方にチェックを入れてインストール。再起動を求められるので再起動する。
再起動したら、Window→Preferencesを開きAndroid SDK LocationとNDK Locationを正しく設定する。
ここまでで開発環境の導入は完了。以降、「Add Native Support」でNDK対応化したAndroidプロジェクトでは「Unresolved Inclusion」のエラーは発生しない(はず)。既に「Add Native Support」して「Unresolved Inclusion」な状態になっているプロジェクトについては、次の手順で一旦通常のAndroidプロジェクトに戻した後、再度「Add Native Support」する。