Android - 更新后某些用户找不到应用程序错误

时间:2016-03-06 14:48:04

标签: android android-studio android-manifest

我在Play商店有一个Android应用程序。我刚刚发布了一个新版本,但有些用户报告说,更新后他们无法打开应用程序,因为他们没有安装应用程序错误,但他们可以通过触摸打开按钮打开应用程序。在我使用相同.jks文件的新版本中,我更改了AndroidManifest.xml,因为我想将主要活动从.MainActivity更改为.Landing,因此mainActivity不再是主要的。也许是因为这个问题?顺便说一句,并非所有用户都能解决这个问题。这是旧的和新的AndroidManifest文件,你能检查这些文件吗?也许另一行会导致这个问题?

孤子; - 有些用户重新启动手机即可正常工作 - 但有些用户无法通过重新启动手机进行修复,因此他们会删除并再次安装以修复手机

但是为什么有些用户会这样呢?

OLD AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.example"
    android:versionCode="9"
    android:versionName="2.0.0"
    android:installLocation="internalOnly"
    >
    <uses-sdk android:minSdkVersion="10" />
    <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true"/>
    <uses-feature android:name="android.hardware.telephony" android:required="false" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
    <uses-permission android:name="android.permission.WAKE_LOCK" />

    <permission android:name="com.test.example.permission.C2D_MESSAGE" android:protectionLevel="signature" />
    <uses-permission android:name="com.test.example.permission.C2D_MESSAGE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="com.android.vending.BILLING" />
<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    >
    <!--This meta-data tag is required to use Google Play Services.-->
    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />

    <activity  android:name=".MainActivity" 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=".Contact" android:windowSoftInputMode="adjustNothing" android:screenOrientation="portrait"></activity>
    <activity android:name=".Notes"  android:screenOrientation="portrait"></activity>



    <receiver
        android:name=".GcmBroadcastReceiver"
        android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>
            <!-- Receives the actual messages. -->
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <category android:name="com.test.example" />
        </intent-filter>
    </receiver>
    <service android:name=".GcmIntentService" />

    <!--Include the AdActivity configChanges and theme. -->
    <activity android:name="com.google.android.gms.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
        android:theme="@android:style/Theme.Translucent" />
</application>



</manifest>

新AndroidManifest.xml

  <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.example"
    android:versionCode="10"
    android:versionName="2.0.1"
    android:installLocation="internalOnly"
    >
    <uses-sdk android:minSdkVersion="10" />
    <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true"/>
    <uses-feature android:name="android.hardware.telephony" android:required="false" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
    <uses-permission android:name="android.permission.WAKE_LOCK" />

    <permission android:name="com.test.example.permission.C2D_MESSAGE" android:protectionLevel="signature" />
    <uses-permission android:name="com.test.example.permission.C2D_MESSAGE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="com.android.vending.BILLING" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    >
    <!--This meta-data tag is required to use Google Play Services.-->
    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />

    <activity  android:name=".Landing" 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=".Contact" android:windowSoftInputMode="adjustNothing" android:screenOrientation="portrait"></activity>
    <activity android:name=".Notes"  android:screenOrientation="portrait"></activity>
    <activity android:name=".MainActivity" android:windowSoftInputMode="adjustNothing" android:screenOrientation="portrait"></activity>



    <receiver
        android:name=".GcmBroadcastReceiver"
        android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>
            <!-- Receives the actual messages. -->
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <category android:name="com.test.example" />
        </intent-filter>
    </receiver>
    <service android:name=".GcmIntentService" />

    <!--Include the AdActivity configChanges and theme. -->
    <activity android:name="com.google.android.gms.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
        android:theme="@android:style/Theme.Translucent" />
</application>



</manifest>

1 个答案:

答案 0 :(得分:0)

您的MainActivity不再是MAIN / LAUNCHER活动。你确定这不仅仅是由于这个问题而导致旧的快捷方式消失/无法启动吗?

用户之间的差异可能是由于有不同的启动器应用程序(各种制造商或手动安装)造成的。如果您有一些有用的用户,您可以要求他们:

  1. 检查应用程序抽屉中的应用程序,然后
  2. 拿一个bug报告并发送给你(这样我们就可以看到一些启动失败的日志)