Eclipse a Android Studio Import

Estoy moviendo todos mis códigos de fuente a AS como sugerido por el Web site oficial de Androide. Sin embargo, la experiencia no es muy buena. Es muy lento como se describe aquí . Pero este no es mi problema final por ahora.

He resuelto muchos problemas como la actualización de la compileSdkVersion a 23 para que 99 errores de este tipo:

Error: (13) Error al recuperar el padre del elemento: No se encontró ningún recurso que coincida con el nombre dado 'android: TextAppearance.Material.Inverse'.

Podría ser rectificado. Pero los problemas siguen disparando a medida que voy. Ahora tengo este problema de 64k Dex.

Error: El número de referencias de método en un archivo .dex no puede superar los 64K. Obtenga información sobre cómo resolver este problema en https://developer.android.com/tools/building/multidex.html.

Nunca tuve este problema de Dex durante el uso de Eclipse. El código fuente que tengo en AS es exactamente el mismo que cuando estaba en Eclipse . Las únicas diferencias son los cambios gradle necesarios sólo para trabajar en AS. ¿Alguna idea de por qué este repentino problema de Dex ? Si establezco multiDexEnabled en true , ¿cuáles son las implicaciones?

Sospecho que su error dex es un resultado del crecimiento de una biblioteca, pero sin más información, esto es difícil de depurar. La versión más reciente de Android Studio (2.2) proporciona una herramienta de analizador APK que hace que el límite dex sea más transparente.

Cuando compile 'com.google.android.gms:play-services-fitness:9.6.1' API de servicios de Google Play, deberás comprobar que solo estás incluyendo las que se usan con estas directivas. compile 'com.google.android.gms:play-services-fitness:9.6.1' lugar de incluir todo ( Lista completa ).

Si necesita todas las bibliotecas en las que ya está dependiendo, normalmente se resuelve habilitando multidex en su entorno de desarrollo (requiere desarrollo usando un dispositivo o emulador con L o superior), pero luego usa minificationEnabled en su versión de compilación tal que multidex No es necesario en su versión de APK. Esto resulta en una combinación de compilaciones de depuración rápidas y no multidex de las versiones de lanzamiento para evitar tiempos de inicio lentos para la versión de lanzamiento.

Un poco más de información: cuando se utiliza multidex nativo en compilaciones de depuración (requiere minSdk establecido en L o superior) resulta en incremental más rápido crea porque los módulos y las bibliotecas se implementan como archivos dex separados y menos procesamiento entre implementaciones.

Cuando utiliza minificationEnabled en su versión de compilación, a menudo elimina la necesidad del segundo archivo dex porque los métodos de sus dependendencies que no usa se recortan. Esto típicamente resulta en un solo dex que anula los efectos negativos de multidex (copiando los archivos dex N + 1 en la inicialización de la aplicación para <version L devices).

En primer lugar, asegúrese de reconstruir el proyecto, después de importar (Build – Clean, Builde – Rebuild Probject). Solución de este problema con referencia a los métodos de limitación:

 android { defaultConfig { ... // Enabling multidex support. multiDexEnabled true } ... } dependencies { compile 'com.android.support:multidex:1.0.0' } 

Y también actualizar Application.class en java para apoyar MultiDex. ¡Vea la información completa aquí !

ACTUALIZAR:

Estas opciones se ignoran en Eclipse, porque el límite de referencias de métodos se puede calcular desde el entorno (como AS en nuestro caso). ¿Por qué estas opciones no se incluyen en la compilación de Gradle?

Los archivos de aplicación de Android (APK) contienen archivos de bytecode ejecutables en forma de archivos de Dalvik Executable (DEX), que contienen el código compilado utilizado para ejecutar la aplicación. La especificación de Dalvik Executable limita el número total de métodos que se pueden hacer referencia dentro de un solo archivo DEX a 65.536, incluidos los métodos de framework de Android, los métodos de biblioteca y los métodos de su propio código. En el contexto de la informática, el término Kilo, K, denota 1024 (o 2 ^ 10). Debido a que 65.536 es igual a 64 X 1024, este límite se conoce como el "límite de referencia de 64K".

Fuente AS Doc

Problema multidex se produce cuando se utiliza un montón de bibliotecas en su proyecto. Si el código de tu aplicación tiene métodos de más de 64 KB, entonces sucede.

Cuando su aplicación y las bibliotecas a las que hace referencia alcanzan cierto tamaño, se producen errores de compilación que indican que su aplicación ha alcanzado el límite de la arquitectura de compilación de aplicaciones para Android.

Puede consultar algunos enlaces como:

Cómo habilitar multidexing con la nueva biblioteca de soporte de Android Multidex

http://www.rapidvaluesolutions.com/tech_blog/multidex-issue-or-building-application-over-65k-methods/

https://mutualmobile.com/posts/dex-64k-limit-not-problem-anymore-almost

  • Androide Eclipse Classpath - desea agregar ruta de contenedor de classpath pero eclipse no me deja
  • Java Java FATAL EXCEPTION java.lang.NullPointerException
  • Android debuggable = false haciendo que jQuery.ajax POST falle en el proyecto Cordova / Phonegap Eclipse
  • Mac OSX Herramientas para desarrolladores de Android Null Pointer Exception
  • Problemas de depuración (Android Eclipse)
  • Thrift cliente en Android
  • ¿Por qué Eclipse no reconoce el método build () de la clase Notification.Builder para devolver un objeto Notificación?
  • ¿No has podido encontrar HelloAndroid.apk?
  • ¿Existe un acceso directo para eliminar todas las sentencias de registro de un proyecto de Android realizado en Eclipse?
  • ¿Por qué el tamaño androide de apk difiere cuando se construye desde windows y mac
  • Android AVD no muestra nada. Sólo "ANDROID" en el centro de la pantalla
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.