Android Gradle正在发布模式下生成可调试的APK

Android Gradle正在发布模式下生成可调试的APK,android,gradle,Android,Gradle,我的build.gradle上有以下代码: productFlavors { juridico { applicationId "br.com.eit.appprovaconcursos" } enem { applicationId "com.ioasys.appprova" } } buildTypes { defaultConfig {

我的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

在Google Play上上传生成的APK(
app-enem-release.APK
)时,我发现以下错误:

您上载了一个可调试的APK。出于安全原因,您需要先禁用调试,然后才能将其发布到Google Play中。了解有关可调试APK的更多信息。

我能够通过在android清单上硬编码生成一个不可调试的APK
android:debuggable=“false”
。但是构建配置仍然像一个可调试的构建,正如您在generate build.config中看到的(我仔细检查了一下,这个构建配置来自release文件夹,而且我没有收到Crashlytics上的任何数据,我从调试构建中禁用了它)


作为解决方法,我在defaultConfig中将debuggable设置为true,在release中我覆盖配置并将debuggable设置为false。

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

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


testCoverageEnabled
设置为
false
解决问题,在发布版本中不生成覆盖率报告也是有意义的。

这里也有同样的问题…@Guiherme Torres Castro:你能试着用这个替换你的gradle文件吗?我给出了这个链接,因为我不太确定答案,但这样我就解决了我的问题。@dex谢谢你的提示,不幸的是,它不起作用。不确定将
debugable true
设置为发布模式是否是一个好主意。这似乎不是救命恩人!非常感谢。如果你能向谷歌报告就更好了
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";
}