how can I add the aidl file to Android studio (from the in-app billing example)

后端 未结 10 595
我寻月下人不归
我寻月下人不归 2020-11-27 11:45

I am currently migrating an Eclipse app to Android Studio. This app was using the in app billing.

My main problem is to compile the project and the aidl file (I gues

相关标签:
10条回答
  • 2020-11-27 12:22

    I know it sounds so easy, but I copy paste from google sample all folder

    https://github.com/googlesamples/android-play-billing/tree/master/TrivialDrive/app/src/main

    aidl/com/android/vending/billing

    copied into project aidl ( I had set project view in Android Studio)

    and next I clean and rebuild project and it found a reference.

    0 讨论(0)
  • 2020-11-27 12:25

    Adding this as an answer since it seemed to help quite a few people.

    1. Create a new directory named 'aidl' under 'src/main/'. It should look like 'src/main/aidl'.
    2. Add a new package name 'com.android.vending.billing' to the directory 'src/main/aidl'
    3. Locate your sdk location and go to "sdk\extras\google\play_billing". Default location for the sdk is "C:\Program Files (x86)\Android\android-sdk". If you custom changed it, then you will have to figure out the location through the sdk manager.
    4. Copy 'IInAppBillingService.aidl' into the package created above. In the end, it should look similar to the image below.

    Screenshot of result

    1. Rebuild project and it should be good to go.

    Note: Make sure you include the necessary import if your reference isn't working

    import com.android.vending.billing.IInAppBillingService;
    

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

    Edit From Comment

    After I did this, the references to IInAppBillingService in my code were still highlighted as errors, but after rebuilding the app, the class was recognized

    0 讨论(0)
  • 2020-11-27 12:26

    The above answers concentrate on file location, but it appears you already had that set correctly. I experienced this same issue in Android Studio, but none of the listed answers resolved it, and I banged my head against it for an hour. Eventually, I realized that I was missing an obvious import:

     import com.android.vending.billing.IInAppBillingService;
    

    Once I added that it resolved this error message.

    This import isn't mentioned in any of the Google Billing docs or included in any of the code examples that I found. While it may be obvious to experienced Java developers, beginners just trying to learn their first project may need it explicitly pointed out.

    0 讨论(0)
  • 2020-11-27 12:26

    I've tried every solutions, but the problem was that Android Studio had compiled, with any apparent reason, in a different build type of the module that contains the AIDL packages than it was specified by the settings. From debug to release, so the other modules couldn't see the AIDL pkg. Switching from debug to release and turns back, solved my problem.

    0 讨论(0)
提交回复
热议问题