【问题标题】:Android - application not found error for some users after updateAndroid - 更新后某些用户找不到应用程序错误
【发布时间】:2016-03-06 14:48:03
【问题描述】:

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

解决方案; - 一些用户重新启动他们的手机,它的工作原理 - 但是有些用户重启手机无法修复,所以他们删除并重新安装以修复它

但为什么某些用户会出现这种情况?

旧的 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>

【问题讨论】:

  • 你是否更改过最小 sdk 版本?
  • 不,我没有改变它
  • 您的 MainActivity 不再是 MAIN/LAUNCHER 活动。您确定这不仅仅是旧快捷方式消失/无法启动的问题吗?用户之间的差异可能是由于具有不同的启动器应用程序(不同制造商或手动安装)造成的。如果您有一些有用的用户,您可以要求他们 1:检查应用程序的应用程序抽屉,以及 2:获取错误报告并将其发送给您(以便我们能够看到一些启动失败的日志)。
  • @SnildDolkow 我尝试了你的建议,是的,我遇到了同样的错误。大概就是这个原因。谢谢你的帮助:)
  • 很高兴为您提供帮助。我将我的建议作为答案发布,以便有类似问题的人可以更轻松地找到它(例如,它会在搜索结果中显示有答案)。

标签: android android-studio android-manifest


【解决方案1】:

您的 MainActivity 不再是 MAIN/LAUNCHER 活动。您确定这不仅仅是因为旧快捷方式消失/无法启动的问题吗?

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

  1. 检查应用的应用抽屉,然后
  2. 获取错误报告并将其发送给您(以便我们能够查看一些启动失败的日志)

【讨论】:

    猜你喜欢
    • 2019-12-19
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    • 2013-02-20
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多