Generar un APK en modo release

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

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

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.

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'
}

 

Compártelo...talvez alguién lo necesite!

Whatsapp Messenger Facebook Twitter

Visitado 155 veces | Publicado hace 1 mes

¿TE GUSTARÍA APRENDER A DESARROLLAR UNA APP DELIVERY DE ABARROTES PARA UNA TIENDA?

Mira el temario del curso en el siguiente link
Tienda Delivery en Flutter y Laravel

© Todos los derechos reservados CODEA APLICACIONES | Comunidad de programación web y desarrollo de aplicaciones móviles | 2020