Search code examples
androidcompatibility

Android app compatible with 0 devices


My app https://play.google.com/store/apps/details?id=com.picturesexperience.camera is not visible on any mobile device. Installs with no problem from the APK file (that is actually how I distribute my app right now), works perfectly, but for some reason Google Play doesn't list it. Any suggestions.

The app uses QR code scanning library from Zxing, everything else is custom coded.

The app's manifest:

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

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

    <uses-feature android:name="android.hardware.CAMERA" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.picturesexperience.camera.MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:configChanges="orientation|keyboardHidden" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".CameraActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden" />
        <activity android:name=".UploadActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden" />
        <activity android:name=".LoginActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden" />
        <activity android:name=".PictureViewActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden" />
        <activity android:name="com.google.zxing.client.android.CaptureActivity"
            android:screenOrientation="landscape"
            android:configChanges="orientation|keyboardHidden"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            android:windowSoftInputMode="stateAlwaysHidden">
            <intent-filter>

    <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <intent-filter>
                <action android:name="com.google.zxing.client.android.SCAN"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

Solution

  • <uses-feature android:name="android.hardware.CAMERA" />
    

    ...should be...

    <uses-feature android:name="android.hardware.camera" />
    

    The uses-feature is case sensitive and lower case, so in effect you're stating that you're using a feature that does not exist on any device.