Correção de erro de compilação de limitação de mais de 65k métodos para Android no Android Studio

A plataforma Android é uma plataforma linda e com a beleza vêm algumas peculiaridades.

Um deles é a restrição de método acima de 65k.

Eu me deparei com esse obstáculo recentemente, depois de mais de 3 anos escrevendo aplicativos Android. Eu não estava tão zangado, eu estava esperando isso mais cedo ou mais tarde.

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.

Esta é uma maneira curta e direta de corrigir esse problema e criar aplicativos que funcionem, com as referências apropriadas no final da página.

Este artigo presume que você esteja familiarizado com o uso do Android Studio e do Gradle.

  • Você precisaria configurar seu aplicativo para suporte multidex . Veja abaixo.

Código:

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

Observação: você pode especificar a configuração multiDexEnabled nas seções defaultConfig, buildType ou productFlavor do arquivo de compilação do Gradle.

  • Execute uma sincronização do Gradle.

  • Em seu manifesto, adicione a classe MultiDexApplication da biblioteca de suporte multidex ao elemento do aplicativo.

Código:

<?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: Se você escreveu uma classe de aplicativo personalizada, faça com que ela estenda MultiDexApplication

  • Execute seu aplicativo e tudo ficará bem com o mundo.

Você pode querer verificar https://developer.android.com/tools/building/multidex.html para referência e uma visão geral das limitações de uso do MultiDexApplication.

Sinta-se à vontade para enviar quaisquer ideias ou comentários.

Obrigado.