我的問題涉及從命令行使用aidl.exe(在Windows系統上)。這個問題無關與Eclipse,Netbeans的,等如何使用SDK示例代碼從命令行使用AIDL工具?
包含在Android SDK是以下三個AIDL定義文件:
IRemoteService.aidl IRemoteServiceCallback.aidl ISecondary.aidl
位於在以下目錄:
C:\ Android的SDK窗口\平臺\機器人-2.1 \樣品\ ApiDemos \ SRC \ COM \示例\機器人\的API \應用
爲了簡單起見,我將aidl.exe複製到上面的目錄中。然後,在控制檯窗口中,我成功地使用以下兩個命令來生成.java文件:
C:\ Android的項目\ ApiDemos的\ src \ COM \例子\機器人\的API \應用> AIDL IRemoteServiceCallback.aidl C:\ Android-project \ ApiDemos \ src \ com \ example \ android \ apis \ app> aidl ISecondary.aidl
調用這些命令分別生成文件IRemoteServiceCallback.java和ISecondary.java。到現在爲止還挺好。
我注意到.aidl文件都很簡單;它們不包括「進口」聲明。
其餘.aidl文件,IRemoteService.aidl,不包括上線19以下import語句:
進口com.example.android.apis.app.IRemoteServiceCallback;
,就會出現問題,當我運行本文件中的AIDL工具:
IRemoteService.aidl::19:
C:\Android-project\ApiDemos\src\com\example\android\apis\app>aidl IRemoteService.aidl
這樣做會導致下面的錯誤消息,以在控制檯窗口被打印couldn找不到類com.example.android.apis.app.IRemoteServiceCallback的導入
AIDL工具顯然找不到IRemoteServiceCallback.aidl文件與它運行的同一個目錄。按照AIDL工具的「用法」的消息,有,顯然可以用來解決此問題的命令:
-I<DIR> search path for import statements.
的問題:我一直沒能以這樣的方式,以避免對指定-I錯誤消息並讓AIDL工具使用'import'語句從.aidl文件生成一個.java文件。 (注:我設置Windows環境變量「路徑」我的當前目錄。)下面是我已經嘗試了一些變化:我必須失去了一些東西簡單
-Ic:\com\example\android\apis\app
-Ic:/com/example/android/apis/app
-I.\
-I.
。令人驚訝的是,儘管我已經看到了各種地方發佈的這個問題的變體,但我還沒有看到有關AIDL命令行用法的答案或任何文檔(除了aidl.exe使用信息之外)。有人能告訴我嗎?
謝謝, 馬特
我認爲這是互聯網上唯一記錄的地方。謝謝你,你是英雄。 – benkc 2014-04-11 18:47:10