Gradle está generando APKs debugables en modo de liberación
Tengo el código siguiente en mi 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 } }
Para generar la versión APK, utilizo el siguiente comando:
- Creación de Android Gradle con subproyectos
- Android Studio 0.5.0 reconstrucción no funciona con Proguard
- ¿Cómo aplicar el plugin a un solo sabor en gradle?
- Error de sincronización de Gradle: No se puede cargar la biblioteca windows-amd64 \ native-platform.dll
- Android Studio - Construye un proyecto Android con una biblioteca de Android que depende de otra Android Library
./gradlew assembleEnemRelease
Al cargar el APK generado ( app-enem-release.apk
) en Google Play tuve el siguiente error:
Subiste un APK debugable. Por razones de seguridad, debes desactivar la depuración antes de publicarla en Google Play. Obtenga más información sobre APKs debugables.
Pude generar un APK no-debuggable por la codificación dura en el androide del androide del android:debuggable="false"
. Pero la build config sigue actuando como una compilación debugable, como se puede ver en la generación de Build.config (he doble verificación y esta configuración de construcción es de la carpeta de la versión, también no estoy recibiendo ningún dato de Crashlytics, y lo deshabilito de Compilaciones de depuración).
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"; }
- El complemento de Android Studio es demasiado antiguo
- Cómo recuperar la ruta a ADB en build.gradle
- Final inesperado de datos de bloque en Gradle sync
- Android Studio no puede resolver el error ': app: preDexDebug'
- ¿Cómo obtener cobertura de código con Android Studio?
- Cómo cambiar el nombre del archivo mapping proguard en gradle para el proyecto de Android
- Después de la actualización para Android Studio 2.1.1 Error: (30, 13)
- Estudio de Android importando en edición de gradle
Descubrí que este extraño resultado viene de testCoverageEnabled true
.
Si su versión habilitada habilitó la cobertura de la prueba, genera informes de cobertura y luego su APK se convierte en APK depurable.
Establezca testCoverageEnabled
como false
para solucionar el problema y también tiene sentido no generar informes de cobertura en la versión de lanzamiento.
Como solución, establecí debuggable a true en el defaultConfig y en la versión I anular la configuración y establecer debuggable a false.
- ¿Cómo quitar el icono de la batería en la barra de estado de android?
- Android: No se pudo encontrar ni cargar la clase principal org.gradle.wrapper.GradleWrapperMain