【问题标题】:Android APK crashes on run in release mode, but not in debug modeAndroid APK 在发布模式下运行时崩溃,但在调试模式下不崩溃
【发布时间】:2020-11-13 19:55:47
【问题描述】:

我有一个在 Android Studio 中构建的应用程序。它过去运行得很好,并且过去已发布到商店,但由于某种原因,Release APK 在安装时不会运行。调试通过电话或模拟器运行良好。调试和发布版本都使用相同的密钥库文件。

发布模式,APK 在打开时立即崩溃。我怀疑这是一个密钥库问题,但不能是肯定的???即使我设置了密钥库,是否也使用我的密钥库进行调试?

还有什么我可以尝试的吗?

注意:我有另一种风格,它使用不同的密钥库并且工作正常。

【问题讨论】:

  • 通过USB将手机连接到电脑,打开android studio,进入Android Monitor,选择你的设备并查看logcat。我很确定,例外是存在的,只是等待有人阅读它。 Android Studio logcat 日志甚至存储 apk。所以将版本发布到您的手机并连接它
  • 你用过proguard吗?
  • 你是否在发布版本中使用 proguard。
  • Grisgram.... 将其发布为答案,我会标记它。这帮助我找到了问题。谢谢!

标签: android android-studio apk


【解决方案1】:

按照这里的要求作为答案:)

通过 USB 将手机连接到电脑,打开 android studio,转到 Android Monitor,选择您的设备并查看 logcat。我很确定,例外是存在的,只是等待有人阅读它。 Android Studio logcat 日志甚至存储 apk。所以将版本发布到您的手机并连接它

谢谢你,@亚当

【讨论】:

  • 帮助了我。我的问题是启动时崩溃的活动不在清单文件中。它在日志中明确说明(在我过滤后仅显示错误)
【解决方案2】:

你用过proguard吗? 如果是的话,我敢肯定这是你的proguard问题。我建议您在使用它之前请阅读 proguard 指南。

【讨论】:

  • 您可以在 gradle 的 debug buildType 中添加 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' minifyEnabled true ,检查是否是 proguard 问题。跨度>
【解决方案3】:

这不是proguard。我花了将近两个月的时间来解决这个问题的调试构建工作,而发布构建不起作用并且无数次弄乱了 proguard 文件。问题是即时运行。删除所有对即时运行的引用后,它终于起作用了。

【讨论】:

  • 嘿,除了禁用即时运行之外,我们还需要删除哪些引用?请帮忙!
【解决方案4】:

您可以通过在发布模式下启用调试器来获取更多信息。看看这个 SO 线程:Enable LogCat on Release Build in Android Studio。这样您就可以看到所引发的错误的回溯。

【讨论】:

    【解决方案5】:

    就我而言,在打开发布 APK 时,应用程序崩溃了。最好的方法是查看 logcat 以了解错误的原因。如果您还没有编写任何 Proguard 规则,那么只需转到您的 build.gradle 并更改您的“minifyEnabled false”。这是因为 ProGuard 混淆了您的 APK,使黑客更难对您的 APK 进行逆向工程。如果您认为不需要混淆,请在 Gradle 配置中更改此设置。just look here.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多