【发布时间】:2014-05-20 09:40:02
【问题描述】:
我遇到了一个非常令人困惑的问题。我已经构建了我的应用程序的最终版本 APK,将其提交到 Play 商店,并安装在我的测试设备上。当我以这种方式安装该应用程序时,它会表现出不同的启动模式行为。
我生成的 APK 是通过 Proguard 和 zipalign 构建的 Gradle 的产物。为了便于解释,假设我的应用程序是仪表板类型的应用程序,其主要活动显示活动 B 的启动按钮。我获取了此版本 APK 并通过 USB 'adb install' 将其安装到我的设备上,所以我正在比较完全相同的 APK有两种不同的安装方法。
USB方法:当用户点击主Activity中的按钮启动Activity B时,Activity B启动并显示在屏幕上。如果用户点击主页按钮(接听电话等)然后返回应用程序,Activity B 仍在显示。这是期望的(和预期的)行为。
Store 方法:从商店下载 APK 并再次安装/启动会显示主 Activity。单击按钮时,将再次启动 Activity B。现在,当用户点击 home 并返回时,后台堆栈显然已被清除,主 Activity 再次显示。
我没有在清单中指定任何特殊的启动模式,因此所有活动都是标准的。安装方法怎么会影响这种东西!?这让我发疯。有谁知道为什么会发生这种情况?
【问题讨论】:
-
只是猜测,但您是在使用 adb 推送发布版本还是调试版本?
-
发行版,和我上传到 Play 的版本相同:/
-
好的,你确定你不是在一个实例而不是另一个实例中恢复应用程序吗?
-
除了this,我找不到任何说apk的功能被修改...
标签: android android-intent google-play apk