Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to fix - "This version of the application is not configured for Market Billing"?

I keep getting this error when I try to make an in-app purchase. I have uploaded a previous version of this app where I was able to make in-app purchases successfully! I have looked at the manifest file and it is identical (except for the version code) - but I cannot shake off this error :(

Is there a document that describes how to handle this? I have tried all the remedies suggested in this forum, including: - making sure that I build an unsigned apk and explicitly sign it with my release key (yes - I have checked to make sure that the key/password is accurate) - making sure that the right permissions are enabled (havent changed this since the last successful build

I am missing something trivial - but for the life of me, I cannot figure what!

Please help!

Here is my manifest file below:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.foo.bar"
    android:versionName="1.4" android:versionCode="18">

    <uses-sdk android:minSdkVersion="9" 
          android:targetSdkVersion="9" />

    <uses-permission android:name="android.permission.WAKE_LOCK" >
    </uses-permission>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
    </uses-permission>
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.INTERNET" >
    </uses-permission>
    <uses-permission android:name="com.android.vending.BILLING" />

    <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:xlargeScreens="true" />

    <application
        android:debuggable="false"
        android:icon="@drawable/video"
        android:label="@string/app_name" >
        <activity android:name="com.inappbilling.InappActivity" />
        <activity
            android:configChanges="orientation"
            android:label="@string/app_name"
            android:name=".SplashActivity"
            android:screenOrientation="landscape"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Favorites"
            android:screenOrientation="landscape"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
        </activity>
        <activity
            android:name=".PlayVideo"
            android:screenOrientation="landscape"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
        </activity>
        <activity
            android:name=".Featured"
            android:screenOrientation="landscape"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
        </activity>
        <activity
            android:name=".FacebookLike"
            android:screenOrientation="landscape"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
        </activity>

        <service android:name="com.inappbilling.BillingService" />

        <receiver android:name="com.inappbilling.BillingReceiver" >
            <intent-filter >
                <action android:name="com.android.vending.billing.IN_APP_NOTIFY" />
                <action android:name="com.android.vending.billing.RESPONSE_CODE" />
                <action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED" />
            </intent-filter>
        </receiver>
    </application>

</manifest>
like image 279
Srini Avatar asked Feb 24 '12 04:02

Srini


People also ask

How do I fix this application is not configured for billing?

You need to sign your APK with your live certificate. Then install that onto your test device. You can then test InAppBilling. If you are testing your application by direct run via eclipse to device(In debug mode) then you will get this error.

How do I fix this device does not support Google Play in-app billing?

Go to Android Settings > Applications (also known as Apps & notifications on some devices) > Google Play Store > Storage > tap on Clear storage and Clear cache. Repeat the same steps for Google Services framework. Try buying again. If you still have an error, try step 2.


2 Answers

You say that you already exported a signed application ("release" version), so the only other possibility I can think of is that the release version on your device is higher than the one "published".

like image 79
Bill The Ape Avatar answered Sep 30 '22 03:09

Bill The Ape


I had this error and tried various suggestions from other posts on this topic but none worked.

In the end I found that it was caused by my debugger using a different key to the APK I uploaded to Google Play.

I was using the default debug.keystore which expires within a year.

I had to create a new debug.keystore which expires in more than fifty years (this limit came form an error message in Google Play when I tried to upload it).

I then built the application and uploaded the APK from my application's bin folder (built with my new debug.keystore).

On Windows 7 you can generate the new debug.keystore with this command (delete the existing debug.keystore first):

C:\Users\MyUserName\.android>"C:\Program Files\Java\jdk1.6.0\bin"\keytool.exe -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 21900

Your path to keytool.exe might differ from mine depending upon what is installed.

like image 40
iggit Avatar answered Sep 30 '22 01:09

iggit