Arreglando más de 65k errores de compilación de limitación de métodos para Android en Android Studio

La plataforma de Android es una plataforma hermosa y con la belleza vienen algunas peculiaridades.

Uno de ellos es la restricción del método de más de 65k.

Me encontré con este problema recientemente después de más de 3 años de escribir aplicaciones de Android. No estaba tan molesto, lo esperaba tarde o temprano.

This is also the root error that causes the "java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$attr"
error even after cleaning
and re-adding the appcompatv7 library to your project. It can also fix the "java exit with code 2" error while trying to build your app.

Aquí hay una forma corta y directa de solucionar este problema y crear aplicaciones que funcionen, con las referencias apropiadas al final de la página.

Este artículo asume que está familiarizado con el uso de Android Studio y Gradle.

  • Debería configurar su aplicación para soporte multidex . Ver abajo.

Codigo:

android {
compileSdkVersion
21
buildToolsVersion
"21.1.0"

defaultConfig
{
...
minSdkVersion
14
targetSdkVersion
21
...

// Enabling multidex support.
multiDexEnabled
true
}
...
}

dependencies
{
compile
'com.android.support:multidex:1.0.0'
}

Nota: Puede especificar la configuración multiDexEnabled en las secciones defaultConfig, buildType o productFlavor de su archivo de compilación de Gradle.

  • Ejecute una sincronización de Gradle.

  • En su manifiesto, agregue la clase MultiDexApplication de la biblioteca de soporte multidex al elemento de la aplicación.

Codigo:

<?xml version="1.0" encoding="utf-8"?>
<manifest >="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...

android:name="android.support.multidex.MultiDexApplication">
...

</application>
</manifest>

Nota: si ha escrito una clase de aplicación personalizada, haga que amplíe MultiDexApplication

  • Ejecute su aplicación y todo debería estar bien con el mundo.

Es posible que desee consultar https://developer.android.com/tools/building/multidex.html para obtener referencias y una descripción general de las limitaciones del uso de MultiDexApplication.

Siéntase libre de dejar caer cualquier idea o comentario.

Gracias.