Android StudioにAIDLファイルを追加するにはどうすればいいですか(アプリ内課金の例から)質問する

Android StudioにAIDLファイルを追加するにはどうすればいいですか(アプリ内課金の例から)質問する

現在、Eclipse アプリを Android Studio に移行しています。このアプリはアプリ内課金を使用していました。

私の主な問題は、プロジェクトとaidlファイルをコンパイルすることです(皆さんはこのファイル

次のエラーメッセージが表示されます:

Gradle: error: cannot find symbol class IInAppBillingService
Gradle: error: package IInAppBillingService does not exist

そこで、いくつかのチュートリアルに従って、このファイルをcom.mypackage.billingからsrc/main/aidlに移動します(この参照

しかし、そうするとすぐに、次のメッセージが表示されます。

Gradle: タスク ':xxxxxxxxxxx:compileDebugAidl' の実行に失敗しました。

コマンドの実行に失敗しました: (...) C:\Users\xxxx\AndroidStudioProjects\xxxxxxProject\xxxxxxx\src\main\aidl\IInAppBillingService.aidl:45 インターフェイス IInAppBillingService は、com\xxxxxxxx\billing\IInAppBillingService.aidl というファイルで宣言する必要があります。

このメッセージは、私が上でリンクした Google のバグ ページの投稿と明らかに矛盾しています。

この aidl ファイルを動作させることに成功した人はいますか? 助けてくれる人はいますか?

ここに画像の説明を入力してください

念のため、私がたどったリンクをいくつか紹介します。

ベストアンサー1

かなり多くの人の役に立ったと思われるので、これを回答として追加します。

  1. 新しいディレクトリを作成する'src/main/' の下に 'aidl' という名前で保存します。次のようになります 'ソース/メイン/aidl'。
  2. 新しいパッケージを追加する名前 'com.android.vending.billing' ディレクトリ 'ソース/メイン/aidl'
  3. SDK の場所を見つけて、「sdk\extras\google\play_billing」に移動します。SDK のデフォルトの場所は「C:\Program Files (x86)\Android\android-sdk」です。カスタム変更した場合は、SDK マネージャーを通じて場所を確認する必要があります。
  4. 'IInAppBillingService.aidl' をコピーします上記で作成したパッケージに追加します。最終的には、以下の画像のようになるはずです。

結果のスクリーンショット

  1. 再構築プロジェクトを完了すれば、問題なく実行できるはずです。

注: 参照が機能しない場合は、必要なインポートが含まれていることを確認してください。

import com.android.vending.billing.IInAppBillingService;

https://issuetracker.google.com/issues/36973270

コメントから編集

これを行った後、コード内のIInAppBillingServiceへの参照はエラーとして強調表示されていましたが、アプリを再構築した後、クラスは認識されました。

おすすめ記事