Android Studio: Diferencia de tamaño entre Build APK vs Run APK

He notado una diferencia de tamaño entre el apk generado con estas 2 opciones.

Por qué está pasando esto ?

Con la opción Build -> Build APK :

MyProject \ app \ build \ outputs \ apk \ app-debug.apk (tamaño 2.997 KB)

Con la opción Ejecutar aplicación :

MyProject \ app \ build \ outputs \ apk \ app-debug.apk (tamaño 3.300 KB)

Gracias.

Esto probablemente sería mejor respuesta si se plantea como un issue para el equipo de Android Studio. Mi conjetura es que usted está utilizando el Instant Run dentro del androide Studio (AS). Esto explicaría el tamaño mayor, ya que Instant Run genera clases de proxy para el código modificado.

Editar la configuración de Run para construir utilizando gradle build y usted debe ser capaz de eliminar el código extra … Pero esto vendrá con un tiempo mucho más grande construir / desplegar … Si el tamaño de una compilación de depuración es muy importante para usted, entonces OK Pero para la mayoría esto arruinará todas las mejoras que el equipo de Android ha hecho al DSL recientemente para mejorar la velocidad

Build APK es un acceso directo para ejecutar la tarea :app:assembleDebug Gradle (asumiendo que la variante de depuración está activa en la ventana Build Variants ).

Al ejecutar la aplicación, primero le preguntamos qué dispositivo desea dirigir y, a continuación, pasamos la información a Gradle. Entre otras cosas, esto nos permite filtrar recursos innecesarios. Si tiene habilitado Instant Run, también incluiremos código adicional en el APK.

Mi carrera instantánea estaba apagada.

Tengo 6 MB de tamaño APK con Run->Run 'App' y 11 MB con Build->Build APK opción para ambos firmados y sin firmar APK. Build->Generate Signed APK... también me da 11MB APK para mi aplicación.

Creo que Android Studio deja caer algunos recursos para hacer la compilación más rápida.

APK con 11MB de tamaño tiene más recursos por lo que será mejor opción para subir en la tienda de juego.

Utilicé Build->Analyze Apk... para analizar ambos APK, así que encontré una diferencia de 5.7mb en res por algunos extra drawables de bibliotecas v4 y v17.

Introduzca aquí la descripción de la imagen

Cuando crea la generación por Build-> Build APK, el apk contendrá todos los recursos para todos los dispositivos. Es decir, para ldpi, mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi.

Pero en caso de que esté ejecutando la aplicación en el dispositivo / emulador, se detectará que lo que la resolución del teléfono es y se agregará sólo los recursos con esa resolución en el archivo apk. Por ejemplo, si su dispositivo es xhdpi, eliminará todas las demás resoluciones de pantalla y contendrá sólo recursos xhdpi.

  • Problemas con Android Studio Gradle: Configuración de JDK de Gradle no válida encontrada
  • Pasar parámetros -P a gradle desde android studio
  • Gradle Android No se pudo encontrar el método testPackage ()
  • La caché de dependencias de Android Gradle puede estar dañada y la compilación de gradle no funciona
  • Esta dependencia me da dos versiones de un frasco. ¿Cómo puedo solucionar esto?
  • Error: valor nulo en la entrada: blameLogFolder = null
  • Publicar sólo un aar en maven central
  • Estudio de Android importando en edición de gradle
  • Cómo construir una biblioteca de Android con Android Studio y gradle?
  • Play_licensing lanza error AIDL con downloader_library para APK Expansión con Gradle
  • Importar BaseGameUtils a Android Studio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.