8

AIDL Android インターフェイスを定義して、他のアプリケーションからサービスを利用できるようにしました。

私の問題は、私のプロジェクトでは、Android がこの AIDL から Java ファイルを生成しないことです。プロジェクトがコンパイルされ、正常に動作することに注意してください。ただし、この AIDL ファイルを別のプロジェクトに移動すると、Android によって Java ファイルが生成されます。

この種のエラーをどこでデバッグできるか、またはこれに関するログをどこで読めるかわかりません。

誰でも私を助けることができますか?

4

5 に答える 5

6

同様の問題に遭遇しました。Android Studio を使用する場合、Gradle でオーバーライドしない限り、ファイルは特定の場所にある必要があります。

aidl ファイルを 'src/main/aidl/example/package/name/' に配置する必要がありました <-- aidl ファイルで宣言されたパッケージは、'package example.package.name' になります。

ファイルが特定の aidl フォルダーにあり、そのフォルダー構造が aidl で宣言されているパッケージ名と一致する必要があります。ここで最初のヒントを見つけました: https://code.google.com/p/android/issues/detail?id=56328

于 2016-08-03T20:30:16.647 に答える
5

.aidlEclipseはエラーをファイルに直接表示するので、最初にファイルを確認してください。同様の問題が発生し、問題が見つかりました。インターフェイス関数の前に。を付けましたpublic。それは間違っていました。例えば:

package com.example.phone.service;

interface IService {
    public void placeCall(String a, in String b, in String c);
}

する必要があります:

package com.example.phone.service;

interface IService {
    void placeCall(String a, in String b, in String c);
}

.java生成されたファイルはnotにあるgen/ことを忘れないでくださいsrc/

于 2012-09-21T18:40:14.163 に答える
1

インターフェースを作成しようとしている場所に応じて、親ディレクトリの 1 つに移動すると (framework/base/ など)、このファイルに Android.mk という名前のこのディレクトリの make ファイルが見つかります。適切な場所に .aidl 名を追加する必要があります。 (コメントのおかげでどこを正確に理解するのは簡単です)そしてビルドします。「your interface」.java が生成されます。

于 2013-10-06T15:30:50.713 に答える
1

プロジェクトをクリーンアップしてみてください。これは、これらのタイプのエラーの解決に役立つことがよくあります。また、エラーによって一部のコンパイル手順の完了が妨げられる可能性があるため、エラーが含まれていないことも確認してください。

Eclipse を使用していると仮定すると、コンパイル プロセスの出力を含む「コンソール」ビュー ([ウィンドウ] > [ビューの表示] > [コンソール]) を確認できます。

于 2012-09-21T09:43:41.420 に答える