0

I have an Ionic 3.x application that uses both Adobe Creative SDK & cordova-plugin-inapppurchase plugins.

Problem #1: When the project is built for android. It throws an error "com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/android/vending/billing/IInAppBillingService$Stub$Proxy.class".

Problem #1 SOLVED: This compilation error is resolved by excluding a duplicate copy of IInAppBillingService.aidl (from cordova-plugin-inapppurchase), since it is already imported by Adobe Creative SDK plug-in. Following the instructions on Adobe Creative SDK Q&A solved it. Great!!

Problem #2: Adobe Creative SDK internally uses Google In-App Billing V3. Now, we want to use In-App Billing V5 (that exposes subscription upgrade/downgrade functionality). Upgradation to v5 API can be achieved by customizing the aidl (interface class). Here is an example. Discussed with more details on Stackoverflow Forum and Android Play Billing with Upgrade/Downgrade Subscription.

PROBABLE SOLUTION for Problem #2

  1. Include back, "IInAppBillingService.aidl" in cordova-plugin-inapppurchase (that was earlier excluded while solving Problem #1).

  2. Customize this interface and incorporate changes as implemented by Android developers that introduces the "getBuyIntentToReplaceSkus" service method in aidl (interface).

  3. Exclude the entire "com.android.vending.billing" package/framework which is being internally imported by Adobe Creative SDK Cordova plugin.

Any help in solving this issue will be highly appreciated.

  • (1/3) When both Adobe Creative SDK & cordova-plugin-inapppurchase plugins are installed in an ionic app,it throws a conflict/duplication of IInAppBillingService.class stub during compilation/building. This compilation error is resolved by excluding a duplicate copy of IInAppBillingService.aidl (from cordova-plugin-inapppurchase), since it is already imported by Adobe Creative SDK plug-in. Recommended by Adobe Q&A forum: https://creativesdk.zendesk.com/hc/en-us/articles/209685473-Android-Image-Editor-IInAppBillingService-Stub-Proxy-class-duplicated-entry-Exception – Netision LLP Dec 21 '17 at 05:51
  • (2/3) Adobe Creative SDK internally uses Google In-App Billing V3. Now we want to use In-App Billing V5 (that exposes subscription upgrade/downgrade functionality). Upgradation to v5 API can be achieved by customizing the aidl (interface class). Here is the sample implementation - https://github.com/googlesamples/android-play-billing/tree/551a178e52baf60cc6e1f9cb6f40767b8453655a/TrivialDrive/app/src/main/java/com/example/android/trivialdrivesample – Netision LLP Dec 21 '17 at 05:51
  • (3/3) To customize aidl interface (for implementing v5 feature), we need to include back the IInAppBillingService.aidl in cordova-plugin-inapppurchase plugin and find a way out to get "com.android.vending.billing" package getting excluded from Adobe Creative SDK plugin. – Netision LLP Dec 21 '17 at 05:51

0 Answers0