gpt4 book ai didi

android - Gradle 在 Release模式下生成可调试的 APK

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:04:36 25 4
gpt4 key购买 nike

我的 build.gradle 中有以下代码:

productFlavors {
juridico {
applicationId "br.com.eit.appprovaconcursos"
}
enem {
applicationId "com.ioasys.appprova"
}
}

buildTypes {
defaultConfig {
debuggable false
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
testCoverageEnabled true
}
release {
debuggable false
testCoverageEnabled true
//noinspection GroovyAssignabilityCheck
signingConfig signingConfigs.release
}
}

要生成发布 APK,我使用以下命令:

./gradlew assembleEnemRelease

将生成的 APK (app-enem-release.apk) 上传到 Google Play 时出现以下错误:

您上传了一个可调试的 APK。出于安全原因,您需要先禁用调试,然后才能在 Google Play 中发布。详细了解可调试的 APK。

我能够通过在 android Manifest android:debuggable="false" 上进行硬编码来生成不可调试的 APK。但是构建配置仍然像可调试构建一样,正如您在生成 Build.config 中看到的那样(我仔细检查并且这个构建配置来自发布文件夹,而且我没有收到任何关于 Crashlytics 的数据,我从调试构建)。

public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String APPLICATION_ID = "com.ioasys.appprova";
public static final String BUILD_TYPE = "release";
public static final String FLAVOR = "enem";
public static final int VERSION_CODE = 20135;
public static final String VERSION_NAME = "3.0.1";
}

最佳答案

我发现这个奇怪的结果来自 testCoverageEnabled true

如果您的发布版本启用了测试覆盖率,它会生成覆盖率报告,然后您的 APK 将成为可调试的 APK。

testCoverageEnabled 设置为 false 解决了这个问题,并且在发布构建时不生成覆盖率报告也是有意义的。

关于android - Gradle 在 Release模式下生成可调试的 APK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36557070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com