Unidade - Habilite Multidex ou Muitos Métodos

Como tudo começou


Olá a todos. Em um certo estágio do desenvolvimento de um jogo para Android no mecanismo Unity, encontrei um problema com a compilação. Após adicionar plug-ins como Appodeal e Google Play Games ao projeto, o número de métodos usados ​​excedeu 65K e o seguinte erro apareceu durante a compilação:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

Depois de ler a documentação do Appodeal, percebi que precisava habilitar o Multidex. Eu decidi fazer isso. O site tinha um link com instruções para o Android Studio. E então nós na Unity, o que devemos fazer?

E tudo é bem simples, basta executar três ações:

Habilitar o sistema Gradle Build


Para habilitar o Gradle in Unity no seu projeto Android

  1. No Unity, abra Configurações de compilação ( Arquivo >> Configurações de compilação )
  2. Se você não escolheu uma plataforma, é hora de fazê-lo ( Platform >> Android )
  3. Na lista Build System, selecione Gradle ( Build System >> Gradle )

imagem

Alterar configurações de gradle


1. Para alterar as configurações do Gradle, primeiro você precisa obter o arquivo de configurações do Gradle, localizado na pasta ( Assets / Plugins / Android / mainTemplate.gradle ). Se o arquivo mainTemplate.gradle for baixado do link e colado no endereço Assets / Plugins / Android / :

Baixar arquivo

2. Se você já tiver o arquivo, adicione a linha multiDexEnabled true ao objeto defaultConfig

3. Se o nível mínimo da API Android for 20 ou mais baixo , adicione esta linha compila 'com.android.support:multidex:1.0.1'

4. Comente ou exclua as linhas:

minifyEnabled **MINIFY_DEBUG**
useProguard **PROGUARD_DEBUG**

Visualização final do arquivo:

imagem

Inicializando o Multidex


Se o nível mínimo da API do Android estiver definido como 20 ou inferior.

Atualize o arquivo de manifesto localizado em Assets / Plugins / Android / AndroidManifest.XML . Se você não possui esse arquivo, precisará criá-lo. Você pode encontrar o AndroidManifest por default.xml no local da instalação do Unity. Mas você também terá que aplicar manualmente as configurações do projeto do seu aplicativo: nome do pacote, permissões, parâmetros de configuração e outras informações.

Se você acabou de criar um novo arquivo de manifesto ou já possui um, basta adicionar este parâmetro ( android: name ) da seguinte maneira:

imagem

Isso é tudo. O erro desaparece e você constrói seu projeto com calma.

Obrigado pela atenção.

Source: https://habr.com/ru/post/undefined/


All Articles