Desejo usar a nova biblioteca de suporte Multidex para quebrar o limite do método para um dos meus aplicativos.
Com o Android Lollipop, o Google introduziu uma biblioteca de suporte multidex que facilita o multidex.
Quais etapas são necessárias para usar esta biblioteca e criar meu aplicativo com suporte multidex?
android
gradle
android-multidex
Janusz
fonte
fonte
Respostas:
Editar:
O Android 5.0 (nível de API 21) e superior usa ART que suporta multidexing. Portanto, se você
minSdkVersion
tiver 21 anos ou mais, a biblioteca de suporte multidex não será necessária.Modifique o seu
build.gradle
:Se você estiver executando testes de unidade, inclua isso em sua
Application
classe:Ou apenas faça sua
application
classe estenderMultiDexApplication
Para mais informações, este é um bom guia.
fonte
gradle-wrapper.properties
) Os principais pontos: 1 sua buildToolsVersion precisa ser 21.1.1 ou superior. 2 adicionemultiDexEnabled true
ao seu defaultConfig do seu build.gradle (observe que não há um=
) 3 adicione o'com.android.support:multidex:1.0.0'
android:name="android.support.multidex.MultiDexApplication"
àapplication
tag éAndroidManifest.xml
suficiente?..if your minSdkVersion is set to 20 or lower you must use...
'compile 'com.android.support:multidex:1.0.1'
.As etapas a seguir são necessárias para iniciar o multi dexing:
Adicione android-support-multidex.jar ao seu projeto. O jar pode ser encontrado na pasta SDK do Android / sdk / extras / android / support / multidex / library / libs
Agora você permite que a classe de aplicativos do seu aplicativo estenda o MultiDexApplication
ou você substitui o attachBaseContext assim:
Eu usei a abordagem de substituição, porque isso não interfere na hierarquia de classes da sua classe de aplicativo.
Agora, seu aplicativo está pronto para usar o multi dex. O próximo passo é convencer a Gradle a criar um apk multi dexed. A equipe de ferramentas de construção está trabalhando para facilitar isso, mas, no momento, você precisa adicionar o seguinte à parte android do build de seus aplicativos.
E o seguinte para a parte geral de seus aplicativos build.gradle
Mais informações podem ser encontradas no blog de Alex Lipovs .
fonte
SIMPLESMENTE, para ativar o multidex, você precisa ...
você também deve alterar seu arquivo de manifesto. No seu manifesto, adicione a classe MultiDexApplication da biblioteca de suporte multidex ao elemento do aplicativo como este
fonte
android:name="android.support.multidex.MultiDexApplication
favor me guiar ..No seu build.gradle, adicione esta dependência:
novamente em seu arquivo build.gradle, adicione esta linha ao bloco defaultConfig :
Em vez de estender sua classe de aplicativo de Application, estenda-a de MultiDexApplication ; gostar :
agora você está pronto para ir! E, caso você precise, tudo o que
MultiDexApplication
faz éfonte
build.gradle
AndroidManifest.xml
fonte
Etapa 1: Alterar build.grade
Etapa 2: configuração na classe Application
Etapa 3: Alterar grade.properties
Vai funcionar!. Obrigado.
fonte
Aqui está uma abordagem atualizada a partir de maio de 2020, com o Android X.
Para
minSdk
> = 21Você não precisa fazer nada. Todos esses dispositivos usam a VM Android RunTime (ART), que suporta multidex nativamente.
Para
minSdk
<21No nível do módulo
build.gradle
, verifique se as seguintes configurações estão preenchidas:Em seguida, você
src/main/AndroidManifest.xml
precisa declararMultiDexApplication
comoapplication:name
:fonte
Adicione ao AndroidManifest.xml:
OU
no método attachBaseContext do seu aplicativo personalizado
ou seu aplicativo personalizado estende o MultiDexApplication
adicione multiDexEnabled = true no seu build.gradle
fonte
Primeiro você deve tentar com o Proguard (isso limpa todo o código não utilizado)
fonte
Se você deseja ativar o multi-dex em seu projeto, basta ir para gradle.builder
e adicione isso na sua dependência
então você tem que adicionar
Em seguida, abra uma classe e estenda-a para Application. Se o seu aplicativo usa estende a classe Application, você pode substituir o método oncrete () e chamar
para ativar o multidex.
e finalmente adicione ao seu manifesto
fonte
gradle.builder
?Todas as respostas acima são impressionantes
Adicione isso também, caso contrário, seu aplicativo falhará como o meu sem qualquer motivo
fonte
Com o androidx, as bibliotecas de suporte clássicas não funcionam mais.
A solução simples é usar o seguinte código
No seu
build.gradle
arquivoE no seu manifesto, basta adicionar o atributo name à tag do aplicativo
Se seu aplicativo está direcionado à API 21 ou superior, o multidex está ativado por padrão.
Agora, se você quiser se livrar de muitos dos problemas que enfrenta ao tentar suportar o multidex - primeiro tente usar o encolhimento de código, definindo
minifyEnabled true
.fonte
apenas adicionando isso cortado no build.gradle também funciona bem
fonte
Multi_Dex.java
fonte