現在、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
かなり多くの人の役に立ったと思われるので、これを回答として追加します。
- 新しいディレクトリを作成する'src/main/' の下に 'aidl' という名前で保存します。次のようになります 'ソース/メイン/aidl'。
- 新しいパッケージを追加する名前 'com.android.vending.billing' ディレクトリ 'ソース/メイン/aidl'
- SDK の場所を見つけて、「sdk\extras\google\play_billing」に移動します。SDK のデフォルトの場所は「C:\Program Files (x86)\Android\android-sdk」です。カスタム変更した場合は、SDK マネージャーを通じて場所を確認する必要があります。
- 'IInAppBillingService.aidl' をコピーします上記で作成したパッケージに追加します。最終的には、以下の画像のようになるはずです。
- 再構築プロジェクトを完了すれば、問題なく実行できるはずです。
注: 参照が機能しない場合は、必要なインポートが含まれていることを確認してください。
import com.android.vending.billing.IInAppBillingService;
https://issuetracker.google.com/issues/36973270
コメントから編集
これを行った後、コード内のIInAppBillingServiceへの参照はエラーとして強調表示されていましたが、アプリを再構築した後、クラスは認識されました。