Amazon App Tester crash (Xamarin) during purchase test
<p>While testing in-app-purchase using Amazon App Tester, the app crashed on this line</p>

<pre><code>RequestOutput response = IAPService.Purchase(request);
</code></pre>

<p>I am following the <a href="https://developer.amazon.com/public/apis/earn/in-app-purchasing/docs-v2/using-the-iap-plugin-for-xamarin" rel="nofollow">code sample from here</a></p>

<p>In the Output window, the purchase seems to be called successfully.</p>

<pre><code>06-06 19:42:56.238 D/Mono    (24121): Searching for 'nativePurchaseJson'.
06-06 19:42:56.238 D/Mono    (24121): Probing 'nativePurchaseJson'.
06-06 19:42:56.238 D/Mono    (24121): Found as 'nativePurchaseJson'.
06-06 19:42:56.240 D/AmazonIapV2 Bridge(24121): Executing native Purchase
06-06 19:42:56.246 I/AmazonIapV2(24121): purchase called
06-06 19:42:56.247 I/AmazonIapV2(24121): purchase sku:carquiz.coinsforsale1
06-06 19:42:56.247 D/c       (24121): In App Purchasing SDK - Sandbox Mode: sendPurchaseRequest
06-06 19:42:56.267 D/AmazonIapV2 Bridge(24121): java method called
06-06 19:42:56.268 D/AmazonIapV2Android(24121): Successfully called native code in 30 ms
</code></pre>

<p>I've also added the following permission in my AndroidManifest.xml file</p>

<pre><code>&lt;receiver android:name="com.amazon.device.iap.ResponseReceiver"&gt;
  &lt;intent-filter&gt;
    &lt;action
      android:name="com.amazon.inapp.purchasing.NOTIFY"
      android:permission="com.amazon.inapp.purchasing.Permission.NOTIFY" /&gt;
  &lt;/intent-filter&gt;
&lt;/receiver&gt;
</code></pre>

<p>I've registered the <code>PurchaseResponse</code> event but this never called because it crashed during purchasing.</p>

<pre><code>iapService.AddPurchaseResponseListener(EventHandler);
</code></pre>

<p>What am I missing?</p>

<p><strong>Update:</strong></p>

<p>I noticed there's a notification in my phone Notification Bar from Amazon App Tester. It is only partially visible and cannot be expanded to reveal the full message. Clicking on it will bring me to Amazon App Tester. It says</p>

<pre><code>Implementation Problem Detected
com.myapp.carquiz failed to call PurchasingS..
</code></pre>

<p>I presume it is <code>PurchasingService</code></p>

<p><strong>Update 2</strong>
My log cat</p>

<pre><code>06-07 15:35:07.548 E/AndroidRuntime( 9699): FATAL EXCEPTION: main
06-07 15:35:07.548 E/AndroidRuntime( 9699): Process: com.amazon.sdktestclient, PID: 9699
06-07 15:35:07.548 E/AndroidRuntime( 9699): Theme: themes:{default=overlay:com.cyngn.themes.hexo, iconPack:com.cyngn.themes.hexo, fontPkg:com.cyngn.themes.hexo, com.android.systemui=overlay:com.cyngn.themes.hexo, com.android.systemui.navbar=overlay:com.cyngn.themes.hexo}
06-07 15:35:07.548 E/AndroidRuntime( 9699): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.amazon.sdktestclient/com.amazon.sdktestclient.iap.ui.PurchaseActivity}: java.lang.IllegalArgumentException: Path must not be empty.
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2450)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2510)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at android.app.ActivityThread.-wrap11(ActivityThread.java)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at android.os.Handler.dispatchMessage(Handler.java:102)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at android.os.Looper.loop(Looper.java:148)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at android.app.ActivityThread.main(ActivityThread.java:5461)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at java.lang.reflect.Method.invoke(Native Method)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
06-07 15:35:07.548 E/AndroidRuntime( 9699): Caused by: java.lang.IllegalArgumentException: Path must not be empty.
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at com.squareup.picasso.Picasso.load(Picasso.java:297)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at com.amazon.sdktestclient.iap.ui.PurchaseActivity.updateProductDetails(PurchaseActivity.java:214)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at com.amazon.sdktestclient.iap.ui.PurchaseActivity.onCreatePurchaseActivity(PurchaseActivity.java:120)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at com.amazon.sdktestclient.iap.ui.PurchaseActivity.onCreate(PurchaseActivity.java)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at android.app.Activity.performCreate(Activity.java:6251)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2403)
06-07 15:35:07.548 E/AndroidRuntime( 9699):     ... 9 more
06-07 15:35:07.552 W/JsonSuggestProvider( 4000): ext: null, mimeType: null, handles: false
06-07 15:35:07.552 D/ApplicationSuggestionService( 4000): handles? false
06-07 15:35:07.552 W/ActivityManager(  831):   Force finishing activity com.amazon.sdktestclient/.iap.ui.PurchaseActivity
06-07 15:35:07.555 W/DropBoxManagerService(  831): Dropping: data_app_crash (1687 &gt; 0 bytes)
06-07 15:35:07.556 W/ActivityManager(  831):   Force finishing activity com.borneomobile.carquiz/md546d24a5175fed40732720790778ad3a9.GameView
</code></pre>