1

我遇到了这样一种情况,即构建的调试 APK 的版本有莫名其妙的运行时错误,这些错误在重建后消失了。没有代码更改 - 只是全新的构建。今天它至少发生了第二次——它开始让我担心。

确定不能在我的模拟器上重复错误是浪费时间,我只需要重建它。在这里我只能一个一个地构建APK,直到我得到两个等于字节的文件。虽然我在直接通过 USB 安装时从未遇到过同样的问题,但它不是一个解决方案,因为我一直无法物理访问它。

更新。今天通过USB安装发生了这样的事情。

第二个原因主要在这里。我可以确定发布版本没有同样的问题吗?现在,我构建了无法在设备上安装的 AAB 文件,以便在 Google Play 更新之前进行检查。

当前的 Android Studio 版本:

Android Studio Arctic Fox | 2020.3.1 Patch 1 Build
#AI-203.7717.56.2031.7621141, built on August 7, 2021

更新。在 Android Studio 版本上重复:

Android Studio Arctic Fox | 2020.3.1 Patch 2 Build
#AI-203.7717.56.2031.7678000, built on August 27, 2021

其他构建设置

buildToolsVersion '30.0.2'
gradle version 7.0.2

为什么会这样?有什么解决方法吗?

4

2 回答 2

1

补丁 2 可用,似乎 gradle build 存在一些问题。这是问题跟踪器的链接。https://issuetracker.google.com/issues/195968520?pli=1

正如问题跟踪器中所建议的那样,您能否尝试以下配置。

kotlin 元数据应该从 3.0.69 版本开始就具有确定性。您可以通过将以下内容添加到顶级 build.gradle 文件来试用该版本:

buildscript {
repositories {
    maven {
        url 'https://storage.googleapis.com/r8-releases/raw'
    }
}

dependencies {
    classpath 'com.android.tools:r8:3.0.69'          // Must be before the Gradle Plugin for Android.
    classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
 }
}

这是补丁 2 的所有已解决问题的链接。 https://androidstudio.googleblog.com/2021/09/android-studio-arctic-fox-202031-patch.html

于 2021-09-29T08:06:07.317 回答
0

在没有看到错误或至少 logcat 的情况下,很难说任何话。话虽如此,它可能是您的配置或错误,唯一的通用建议是确保您将所有内容更新到最新的稳定版本或找到适用于构建系统的任何版本。

有时,由于构建工件缓存问题,会发生这种情况。通常,调试构建针对构建速度和调试附加信息进行了优化。构建工件缓存一个这样的构建速度优化东西,它可能是错误的并且可能导致问题。另一个是 IDE 可能会在您构建时保存文件,这可能会弄乱时间戳,可能会弄乱缓存或混合不同版本的代码。

无论如何,如果没有特定的错误消息或 logcat,几乎不可能说出任何具体的内容。

于 2021-10-05T03:08:44.310 回答