My app all of a sudden has 0 supported devices

2019-09-08 22:51发布

问题:

This is my app: https://play.google.com/store/apps/details?id=com.elgami.customizer

I've been wracking my head trying to figure this out. Can't find out what the problem is. I'm pretty sure one of the permissions is either spelled or implemented incorrectly. The camera features and permissions were the latest things I've added. Basically, it can't be downloaded by anybody and I didn't notice this until I published it. What could be going wrong?

This is my Manifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.elgami.customizer"
    android:versionCode="41"
    android:versionName="3.0" >

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

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

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

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

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.hardware.camera.autofocus" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-feature android:name="android.hardware.location" />
    <uses-feature android:name="android.hardware.camera.setParameters" />

    <!--
      IMPORTANT: Change "com.parse.starter.permission.C2D_MESSAGE" in the lines below
      to match your app's package name + ".permission.C2D_MESSAGE".
    -->

    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

    <uses-permission android:name="android.permission.FLASHLIGHT"
                     android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
                     android:protectionLevel="normal"/>
    <uses-feature android:name="android.hardware.camera.flash"/>

    <!--
      IMPORTANT: Change "com.parse.tutorials.pushnotifications.permission.C2D_MESSAGE" in the lines below
      to match your app's package name + ".permission.C2D_MESSAGE".
    -->
    <permission
        android:name="com.elgami.customizer.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />

    <uses-permission android:name="com.elgami.customizer.permission.C2D_MESSAGE" />

    <application
        android:name="com.elgami.application.GlobalApplication"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <meta-data
            android:name="com.parse.ui.ParseLoginActivity.PARSE_LOGIN_ENABLED"
            android:value="true" />

        <activity
            android:name="com.parse.ui.ParseLoginActivity"
            android:label="@string/app_name"
            android:launchMode="singleTop" >
            <meta-data
                android:name="com.parse.ui.ParseLoginActivity.PARSE_LOGIN_ENABLED"
                android:value="true" />
            <meta-data
                android:name="com.parse.ui.ParseLoginActivity.FACEBOOK_LOGIN_ENABLED"
                android:value="true" />
            <meta-data
                android:name="com.parse.ui.ParseLoginActivity.TWITTER_LOGIN_ENABLED"
                android:value="true" />
        </activity>

        <activity
            android:name="com.facebook.FacebookActivity"
            android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

        <meta-data
            android:name="com.parse.APPLICATION_ID"
            android:value="@string/parse_app_id" />
        <meta-data
            android:name="com.parse.CLIENT_KEY"
            android:value="@string/parse_client_key" />
        <meta-data
            android:name="com.facebook.sdk.ApplicationId"
            android:value="@string/facebook_app_id" />
        <meta-data
            android:name="com.elgami.customizer.notification_icon"
            android:resource="@drawable/ic_launcher" />

        <activity
            android:name=".DispatchActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".IntroActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>
        <activity
            android:name=".UserSettingsActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:theme="@style/PreferenceScreen" >
        </activity>
        <activity
            android:name=".EditProfileActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:parentActivityName=".EditProfileActivity"
            android:screenOrientation="portrait" >
        </activity>
        <activity
            android:name=".ChangePasswordActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:parentActivityName=".ChangePasswordActivity"
            android:screenOrientation="portrait" >
        </activity>
        <activity
            android:name=".PaymentDetailsActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:parentActivityName=".PaymentDetailsActivity"
            android:screenOrientation="portrait" >
        </activity>
        <activity
            android:name=".MainActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:launchMode="singleTask"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.SEND" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="image/*" />
            </intent-filter>
        </activity>
        <activity
            android:name=".PurchaseActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>
        <activity
            android:name="com.elgami.gallery.GalleryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:launchMode="singleTask"
            android:screenOrientation="portrait" >
        </activity>
        <activity
            android:name="com.elgami.feed.FeedActivityV2"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:launchMode="singleTask"
            android:screenOrientation="portrait" >
        </activity>
        <activity
            android:name="com.elgami.feed.SearchActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:parentActivityName="com.elgami.feed.FeedActivityV2"
            android:screenOrientation="portrait">
        </activity>
        <activity
            android:name="com.elgami.feed.SuggestedUserActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:parentActivityName="com.elgami.feed.FeedActivityV2"
            android:screenOrientation="portrait">
        </activity>

        <activity
            android:name="com.elgami.comments.CommentsActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:parentActivityName="com.elgami.feed.FeedActivityV2"
            android:screenOrientation="portrait" >
        </activity>

        <activity
            android:name="com.elgami.notifications.NotificationsActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:parentActivityName="com.elgami.feed.FeedActivityV2"
            android:screenOrientation="portrait" >
        </activity>

        <service
            android:name="com.paypal.android.sdk.payments.PayPalService"
            android:exported="false" />

        <activity android:name="com.paypal.android.sdk.payments.PaymentActivity" />
        <activity android:name="com.paypal.android.sdk.payments.LoginActivity" />
        <activity android:name="com.paypal.android.sdk.payments.PaymentMethodActivity" />
        <activity android:name="com.paypal.android.sdk.payments.PaymentConfirmActivity" />
        <activity android:name="com.paypal.android.sdk.payments.PayPalFuturePaymentActivity" />
        <activity android:name="com.paypal.android.sdk.payments.FuturePaymentConsentActivity" />
        <activity android:name="com.paypal.android.sdk.payments.FuturePaymentInfoActivity" />
        <activity android:name="com.paypal.android.sdk.payments.PayPalProfileSharingActivity" />
        <activity android:name="com.paypal.android.sdk.payments.ProfileSharingConsentActivity" />
        <activity
            android:name="io.card.payment.CardIOActivity"
            android:configChanges="keyboardHidden|orientation" />
        <activity android:name="io.card.payment.DataEntryActivity" />

        <provider
            android:name="com.elgami.utility.ElgamiContentProvider"
            android:authorities="com.elgami"
            android:enabled="true"
            android:exported="true" >
        </provider>

        <activity
            android:name=".PaymentProcessingActivity"
            android:label="@string/title_activity_payment_processing" >
        </activity>
        <activity
            android:name="com.elgami.utility.WrapperWeb"
            android:label="@string/title_activity_wrapper_web" >
        </activity>

        <service android:name="com.parse.PushService" />

        <!-- Custom Receiver -->
        <receiver
            android:name=".Receiver"
            android:exported="false" >
            <intent-filter>
                <action android:name="com.parse.push.intent.RECEIVE" />
                <action android:name="com.parse.push.intent.DELETE" />
                <action android:name="com.parse.push.intent.OPEN" />
            </intent-filter>
        </receiver>
        <!-- End Custom Receiver -->

        <receiver android:name="com.parse.ParseBroadcastReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>
        <receiver
            android:name="com.parse.GcmBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

                <!-- IMPORTANT: Change "com.parse.tutorials.pushnotifications" to match your app's package name. -->
                <category android:name="com.elgami.customizer" />
            </intent-filter>
        </receiver>

        <!-- replace @drawable/push_icon with your push icon identifier -->
        <meta-data
            android:name="com.parse.push.notification_icon"
            android:resource="@drawable/ic_stat_ic_notification" />

        <activity
            android:name="com.elgami.feed.FeedActivitySingle"
            android:label="@string/title_activity_feed_activity_single"
            android:parentActivityName="com.elgami.gallery.GalleryActivity" >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.elgami.gallery.GalleryActivity" />
        </activity>
    </application>

</manifest>

回答1:

Are you running into any file size restrictions? I recall something about there being a 50 mb file limit.

Found the link.



回答2:

I set features when I only needed to include the permissions. I removed the following:

<uses-permission android:name="android.permission.FLASHLIGHT"
                     android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
                     android:protectionLevel="normal"/>

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

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

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

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