Inicio » Blog » Flutter

4 junio, 2020

Generar un APK en modo release

Para generar un APK en modo Release desarrollado con Flutter y el IDE Android Studio, es necesario crear un archivo key.properties y modificar el gradle.

Ver video en

Suscríbete a nuestro canal en Youtube

Suscríbirse

Contextualizando este post, escribo que se trata de cómo generar un apk en modo release listo para subir a la tienda de aplicaciones Google Play, más no cómo obtener la firma o la llave .jks. dicho esto empecemos.

¿Como generar un APK release en Flutter en Android Studio ?

Para generar un APK en modo Release desarrollado con el sdk de Flutter y el IDE Android Studio. Debemos seguir los siguientes pasos.

  1. Crear un archivo key.properties
  2. Modificar el build.gradle
  3. Tener conectado un dispositivo físico como emulador
  4. Ejecutar el comando en la terminal : flutter build apk

Y listo tenemos un apk firmado listo para subir a Play Store. Algo muy importante es que no deben perder nunca su llave .jks

Veamos el archivo: key.properties

storePassword=llave
keyPassword=llave
keyAlias=llave
storeFile=C:\\keys\\llavestore.jks

Ahora parte del archivo build.gradle

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

android {
    compileSdkVersion 28

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.codea.generarapk"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    signingConfigs{
        release{
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.release
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

 


Leido 17987 veces

Compartir link del tutorial con tus amigos


Aprende más sobre Flutter

Cursos de programación

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023