【问题标题】:App can't be launched after update, only option is uninstalling更新后无法启动应用,只有卸载选项
【发布时间】:2016-04-10 18:14:52
【问题描述】:

我更新到 Android Studio 2.0 并用它调试了一个应用程序。我注意到调试应用程序不再列在菜单中的可启动应用程序中,并认为这可能是由于 Android Studio 2.0 的新即时运行功能。

然后,我生成了一个签名版本 .apk 并将其上传到商店。两台测试设备安装了更新,但它们无法再启动该应用程序。它也没有在上述菜单中列出,Google Play 的唯一选择是“卸载”应用程序,没有启动按钮。

我必须在哪里搜索此问题的原因以及如何解决?我已经检查了我的 AndroidManifest.xml 以将 Activity 标记为 Main:

    <activity
        android:name=".activities.LoginActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />

            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:scheme="myapp" />
        </intent-filter>
    </activity>

【问题讨论】:

  • 所以在更新您的 apk 版本时,您更新了版本代码以及您需要更新的任何内容?
  • 是的,versionCode 4versionName "0.0.4" 已更新。我认为 Google Play 不会让我上传具有相同版本信息的 .apk。

标签: android google-play android-manifest android-studio-2.0


【解决方案1】:

你的问题是这样的:

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />

        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />

        <data android:scheme="myapp" />
    </intent-filter>

你是说这个活动需要满足三个条件:

  • ACTION_VIEWACTION_MAIN
  • CATEGORY_DEFAULTCATEGORY_BROWSABLECATEGORY_LAUNCHER
  • myapp 作为方案

主屏幕启动器不会将myapp 添加为方案,因此主屏幕(和设置应用程序)无法启动此活动。

大概,你想要的是两个独立的&lt;intent-filter&gt; 元素用于相同的&lt;activity&gt;

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />

        <data android:scheme="myapp" />
    </intent-filter>

【讨论】:

  • 简直完美。非常感谢!
猜你喜欢
  • 2017-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多