Enorme diferencia entre la liberación APK – firmado tamaño APK

Encontré dos formas posibles de generar una versión APK

  1. Definición de Flavors & Signing del producto Config como abajo en el archivo build.gradle del módulo y luego haciendo clic en el botón Run (betaRelease Config)

    android { signingConfigs { my_alias { keyAlias 'my_alias' keyPassword '*******' storeFile file('*******') storePassword '******' } } compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { minSdkVersion 16 targetSdkVersion 22 versionCode 9 versionName "0.2" resConfigs "en","hi","te" multiDexEnabled true } buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.my_alias } debug { minifyEnabled false } } productFlavors { alpha { applicationId = "***************" resValue 'string', 'app_name', '**********' resValue 'string', 'instabug_app_id','*******************' manifestPlaceholders = [onesignal_app_id : "*******************", onesignal_google_project_number: "************"] } beta { applicationId = "***************" resValue 'string', 'app_name', '**********' resValue 'string', 'instabug_app_id','*******************' manifestPlaceholders = [onesignal_app_id : "*******************", onesignal_google_project_number: "************"] } } aaptOptions { additionalParameters "--no-version-vectors" } } 
  2. Uso de la opción Generar firmado APK del menú Generar en Android Studio

Hay una gran diferencia aquí con el primer APK con 14,5 MB y el segundo con 22,5 MB. Usando el analizador del APK pude ver que el segundo está duplicando los drawables en la carpeta res como se muestra abajo. El lanzamiento más pequeño APK (14.5 MB uno) está funcionando bien en todo tipo de dispositivos.

Introduzca aquí la descripción de la imagen Introduzca aquí la descripción de la imagen

  1. ¿Por qué necesito el más grande? ¿Puedo cargar el APK de liberación normal en la tienda de juegos?

  2. ¿Hay alguna configuración para construir evitando los duplicables duplicados?

Trataré de responder a esta pregunta, basada en mis observaciones.

1.

¿Por qué necesito el más grande? ¿Puedo cargar el APK de liberación normal en la tienda de juegos?

Cuando libera apk haciendo clic en el botón "Ejecutar", está apuntando a dispositivo específico (emulador o dispositivo USB) y está generando recursos sólo para este destino. Ése es porqué usted tiene archivo .apk más pequeño.

Si desea implementar y orientar a toda la densidad de dispositivos, debe utilizar la opción "Generar firmado APK" para proporcionar recursos (por ejemplo, imágenes) a todos los dispositivos.

El lanzamiento más pequeño APK (14.5 MB uno) está funcionando bien en todo tipo de dispositivos.

Creo que porque las imágenes se escalan para caber en la pantalla. Pero estás perdiendo calidad en las imágenes de esta manera.

2.

¿Hay alguna configuración para construir evitando los duplicables duplicados?

En la Instrucción de Provisión de Recursos se escribe que:

La dirección de diseño de su aplicación. Ldrtl significa "disposición-dirección-derecha-izquierda". Ldltr significa "layout-direction-left-to-right" y es el valor implícito por defecto.

Todo esto significa que usted no tiene duplicados drawables pero ahora están en directorios adecuados.

  • Mercado de Android: el número de instalaciones activas supera el total de descargas
  • Cómo habilitar la firma de la aplicación de Google Play
  • Facturación de Google Play en aplicaciones que ofrece un elemento de forma gratuita
  • No es posible zipalign apk android android studio 2.2
  • ¿Cambia el nombre de la aplicación en Google Play Store según el idioma del teléfono del usuario?
  • Referencia de un recurso entero para Android versionCode de manifiesto
  • Reembolso de las compras de prueba al probar Google in-App
  • Wearable no instalar la aplicación (criterios de funcionalidad de Android Wear)
  • No se puede actualizar mi aplicación en Google Play: error aapt
  • Efectos secundarios de cambiar el filtro y los requisitos de una aplicación existente en Android Play / Market
  • ¿Qué es la versión de Android Bundle y el código de versión y cómo se relacionan?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.