私の質問は、コマンドラインから(Windowsシステムで)aidl.exeを使用することに関するものです。この質問は、Eclipse、Netbeansなどとは何の関係もありません。
Android SDKには、次の3つのAIDL定義ファイルが含まれています。
IRemoteService.aidl IRemoteServiceCallback.aidl ISecondary.aidl
次のディレクトリにあります。
C:\ android-sdk-windows \ platforms \ android-2.1 \ samples \ ApiDemos \ src \ com \ example \ android \ apis \ app
簡単にするために、aidl.exeを上記のディレクトリにコピーしました。次に、コンソールウィンドウから、次の2つのコマンドを使用して.javaファイルを生成することに成功しました。
C:\ Android-project \ ApiDemos \ src \ com \ example \ android \ apis \ app> aidl IRemoteServiceCallback.aidl C:\ Android-project \ ApiDemos \ src \ com \ example \ android \ apis \ app> aidl ISecondary.aidl
これらのコマンドを呼び出すと、それぞれファイルIRemoteServiceCallback.javaとISecondary.javaが生成されました。ここまでは順調ですね。
どちらの.aidlファイルも単純であることに注意してください。'import'ステートメントは含まれていません。
残りの.aidlファイルであるIRemoteService.aidlには、19行目に次のインポートステートメントが含まれています。
インポートcom.example.android.apis.app.IRemoteServiceCallback;
このファイルでAIDLツールを実行すると、問題が発生します。
C:\Android-project\ApiDemos\src\com\example\android\apis\app>aidl IRemoteService.aidl
これを行うと、次のエラーメッセージがコンソールウィンドウに出力されます。
IRemoteService.aidl:19:クラスcom.example.android.apis.app.IRemoteServiceCallbackのインポートが見つかりませんでした
AIDLツールは、実行されていたのと同じディレクトリでIRemoteServiceCallback.aidlファイルを見つけることができなかったようです。AIDLツールの「使用法」メッセージによると、この問題を解決するために明らかに使用できるコマンドがあります。
-I<DIR> search path for import statements.
問題:エラーメッセージを回避するような方法で-Iを指定できず、AIDLツールで.aidlファイルから'import'ステートメントを使用して.javaファイルを生成できませんでした。(注:Windows環境変数'path'を現在のディレクトリに設定しました。)これが私が試したいくつかのバリエーションです:
-Ic:\com\example\android\apis\app
-Ic:/com/example/android/apis/app
-I.\
-I.
簡単なものが欠けているに違いありません。驚いたことに、この質問のバリエーションがさまざまな場所に投稿されているのを見ましたが、AIDLコマンドラインの使用法に関する回答やドキュメント(aidl.exeの使用法情報を除く)はまだありません。誰かが私を手がかりにできますか?
ありがとう、マット