Пришло время серьёзных постов на серьёзные темы. В этот раз будет заезженная тема с включением Multidex в Unity при сборке Android проекта.
В интернете есть статьи, где описывается, что нужно экспортировать проект в Android Studio, и производить какие-то изменения там, но, на самом деле, всё проще. По крайней мере, в последних версиях Unity.
Для этого нужно сделать следующее:
- Найти mainTempate.gradle, поставляемый с Unity. Находится по пути {папка с юнити}/Editor/Data/PlaybackEngines/AndroidPlayer/Tools/GradleTemplates и поместить его в Assets/Plugins/Android.
![местонахождение mainTemplate.gradle](https://snouwer.ru/wp-content/uploads/2019/08/izobrazhenie.png)
- Если у Вас отсутствует в AndroidManifest.xml в Assets/Plugins/Android, то скопировать его из {папка с юнити}/Editor/Data/PlaybackEngines/AndroidPlayer/Apk.
- Открыть скопированный mainTemplate.gradle, и добавить параметр multiDexEnabled true в блок defaultConfig.
![Добавленный параметр multiDexEnabled в mainTemplate.gradle](https://snouwer.ru/wp-content/uploads/2019/08/izobrazhenie-1.png)
- Открыть скопированный (или ранее созданный) AndroidManifest.xml и добавить свойство android:name="android.support.multidex.MultiDexApplication" внутрь тэга <application>.
![Добавленное свойство для поддержки multiDex в манифест](https://snouwer.ru/wp-content/uploads/2019/08/izobrazhenie-2.png)
- Если раньше не было манифеста, и он был скопирован из соответствующей папки на 4 шаге, то поменять идентификатор приложения package с com.unity3d.player на соответствующий идентификатор проекта.
- Если Unity старой версии, то в Build Settings выбрать в качестве сборочной системы Gradle (в новых версиях всегда Gradle).
![Окно Build Settings с выбором Gradle в качестве сборочной системы](https://docs.unity3d.com/uploads/Main/gradlebuildsettings.png)
- Открыть Player Settings (можно открыть из окна Build Settings) и, в настройках Android плеера, перейти в категорию Publishing Settings.
- Поставить галочку на Custom Gradle Template и удостовериться, что отобразившийся путь указывает на скопированный mainTemplate.gradle.
![Окно Project Settings и галочка на Custom Gradle Template](https://snouwer.ru/wp-content/uploads/2019/08/izobrazhenie-3.png)
На этом всё. Можно собирать проект и радоваться тому, что теперь multiDex работает.