Эта страница отслеживает известные проблемы с Android Studio Meerkat Feature Drop и плагином Android Gradle 8.10.0. Если у вас возникла проблема, которая еще не включена сюда, сообщите об ошибке .
Обновление до предварительной версии: Каждый выпуск Android Studio и плагина Android Gradle направлен на улучшение стабильности и производительности, а также добавление новых функций. Чтобы ощутить преимущества предстоящих релизов сейчас, загрузите и установите Android Studio Preview .
Известные проблемы с Android Studio
В этом разделе описываются известные проблемы, существующие в последней стабильной версии Android Studio.
Запуск конфигурации без «Перед запуском» Gradle-совместимого Make приводит к ошибке развертывания
В Android Studio Ladybug Feature Drop Canary 9 была проблема, из-за которой удалялась информация о конфигурации запуска из проектов, которые были открыты с помощью этой версии. Если вы в какой-то момент открыли свой проект с помощью этой версии, и запуск вашего приложения приводит к ошибке «загрузка артефактов сборки», убедитесь, что активная конфигурация запуска имеет шаг «Gradle-aware Make» в разделе «Перед запуском». Чтобы проверить это, нажмите Конфигурации запуска/отладки > Изменить конфигурации , щелкните активную конфигурацию запуска и убедитесь, что в разделе «Перед запуском» есть шаг «Gradle-aware Make». К сожалению, Android Studio не может исправить эту проблему автоматически, поскольку некоторые конфигурации запуска могли быть намеренно настроены без шага «Gradle-aware Make».
«Применить изменения и перезапустить действие» не перезапускает действие на устройствах или эмуляторах API уровня 35.
При развертывании изменений кода на устройстве API 35 с помощью «Apply Changes & Restart Activity» приложение не будет перезапущено, и вы не увидите эффекта изменений. Если вы перезапустите приложение, вы увидите эффект изменений кода. Наша команда активно изучает это.
В окне помощника Firebase отображается сообщение об ошибке
Если в окне Firebase Assistant (Инструменты > Firebase в главном меню) отображается сообщение об ошибке, сделайте кэши недействительными и перезапустите Android Studio, чтобы исправить ошибку.
Невозможно изолировать представление с помощью инспектора макетов
Возможность изолировать представление с помощью встроенного инспектора макетов временно недоступна. Мы работаем над исправлением этой проблемы в будущем выпуске.
Не все узлы Compose можно проверить с помощью Layout Inspector
Если вы заметили, что не все узлы Compose можно проверить при использовании Layout Inspector , это, скорее всего, связано с ошибкой, которая была исправлена в Compose версии 1.5.0-alpha04. Если вы столкнулись с этой проблемой, убедитесь, что вы обновились до Compose версии 1.5.0-alpha04 или выше.
Ошибка при отображении предварительного просмотра Compose
Начиная с Android Studio Chipmunk, если вы видите java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner
или java.lang.ClassNotFoundException: androidx.savedstate.R$id
на панели проблем, обязательно включите зависимость debugImplementation
от androidx.lifecycle:lifecycle-viewmodel-savedstate
в свой модуль.
Если вы видите java.lang.NoSuchFieldError: view_tree_lifecycle_owner
на панели проблем, обязательно включите зависимость debugImplementation
от androidx.lifecycle:lifecycle-runtime
в свой модуль.
Если вы видите java.lang.NoClassDefFoundError: Could not initialize class androidx.customview.poolingcontainer.PoolingContainer
или java.lang.NoClassDefFoundError: androidx/customview/poolingcontainer/PoolingContainerListener
на панели проблем, обязательно включите зависимость debugImplementation
от androidx.customview:customview-poolingcontainer
в свой модуль.
Ошибка при использовании разных паролей для ключа и хранилища ключей
Начиная с версии 4.2, Android Studio теперь работает на JDK 11. Это обновление вызывает базовое изменение поведения, связанное с подписью ключей.
При переходе в меню «Сборка» > «Создать подписанный пакет/APK» и попытке настроить подписание приложения для пакета приложений или APK ввод разных паролей для ключа и хранилища ключей может привести к следующей ошибке:
Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores
Чтобы обойти эту проблему, введите один и тот же пароль для ключа и хранилища ключей.
Android Studio не запускается после установки версии 4.2
Studio пытается импортировать предыдущие файлы .vmoptions и очистить их для работы со сборщиком мусора, используемым JDK 11. Если этот процесс завершится неудачей, IDE может не запуститься для некоторых пользователей, которые задали пользовательские параметры виртуальной машины в файле .vmoptions .
Чтобы обойти эту проблему, мы рекомендуем закомментировать пользовательские параметры в .vmoptions (используя символ «#»). Файл .vmoptions можно найти в следующих местах:
Окна
C:\Users\YourUserName\AppData\ [Local|Roaming] \Google\AndroidStudio4.2\studio64.exe.vmoptions
macOS
~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions
линукс
~/.config/Google/AndroidStudio4.2/studio64.vmoptions
Если Studio по-прежнему не запускается после попытки использования этого решения, см. раздел Studio не запускается после обновления ниже.
Приложения, использующие Database Inspector, аварийно завершают работу на эмуляторе Android 11
Приложения, использующие Database Inspector, могут аварийно завершить работу при запуске на эмуляторе Android 11, при этом в logcat будет отображаться следующая ошибка:
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)
Чтобы исправить эту проблему, обновите эмулятор Android 11 до версии 9 или выше, перейдя в Tools > SDK Manager . На вкладке SDK Platforms установите флажок Show Package Details и выберите версию 9 или выше эмулятора Android 11.
Студия не запускается после обновления
Если Studio не запускается после обновления, проблема может быть связана с недопустимой конфигурацией Android Studio, импортированной из предыдущей версии Android Studio, или несовместимым плагином. В качестве обходного пути попробуйте удалить (или переименовать для целей резервного копирования) указанный ниже каталог в зависимости от версии Android Studio и операционной системы и снова запустить Android Studio. Это сбросит Android Studio в состояние по умолчанию, при этом все сторонние плагины будут удалены.
Для Android Studio 4.1 и более поздних версий:
Windows:
%APPDATA%\Google\AndroidStudio <version>
Пример:C:\Users\ your_user_name \AppData\Roaming\Google\AndroidStudio4.1
macOS:
~/Library/Application Support/Google/AndroidStudio <version>
Пример:~/Library/Application Support/Google/AndroidStudio4.1
Linux:
~/.config/Google/AndroidStudio <version>
и~/.local/share/Google/AndroidStudio <version>
Пример:~/.config/Google/AndroidStudio4.1
и~/.local/share/Google/AndroidStudio4.1
Для Android Studio 4.0 и более ранних версий:
Windows:
%HOMEPATH%\.AndroidStudio <version> \config
Пример:C:\Users\ your_user_name \.AndroidStudio3.6\config
macOS:
~/Library/Preferences/AndroidStudio <version>
Пример:~/Library/Preferences/AndroidStudio3.6
Linux:
~/.AndroidStudio <version> /config
Пример:~/.AndroidStudio3.6/config
Обратите внимание, что каталог конфигурации для выпусков Canary и Beta Android Studio — это PreviewX.Y
вместо XY
для <version>
. Например, сборки Android Studio 4.1 Canary используют AndroidStudioPreview4.1
вместо каталога AndroidStudio4.1
, который используется для выпусков Release Candidates и Stable.
Проблема компиляции в многоплатформенных проектах Kotlin
Ошибки компиляции могут возникать в коде Kotlin MPP из-за отсутствующих символов. Обновление плагина Kotlin до версии 1.4 должно решить эту проблему.
Конфликты сопоставления клавиш в Linux
В Linux некоторые сочетания клавиш конфликтуют с сочетаниями клавиш Linux по умолчанию и популярными оконными менеджерами, такими как KDE и GNOME. Эти конфликтующие сочетания клавиш могут работать не так, как ожидается, в Android Studio.
Более подробную информацию об этой проблеме (включая возможные пути ее решения) можно найти в системе отслеживания ошибок IntelliJ .
Мелкий текст пользовательского интерфейса на ChromeOS
В ChromeOS текст может выглядеть намного меньше, чем в предыдущих версиях. Чтобы обойти эту проблему, сделайте следующее:
- Откройте окно «Настройки» , нажав Файл > Настройки.
- Перейдите в раздел Внешний вид и поведение > Внешний вид .
- Выберите Использовать пользовательский шрифт .
- Увеличьте размер шрифта.
- В окне «Настройки» перейдите в раздел «Редактор» > «Шрифт» .
- Увеличьте размер шрифта.
- Нажмите ОК .
Редактирование кода
В этом разделе описываются известные проблемы, связанные с редактором кода.
Замороженный ввод с клавиатуры - проблемы «iBus» в Linux
Известны некоторые взаимодействия между демоном iBus в Linux и Android Studio. В некоторых сценариях IDE перестает реагировать на ввод с клавиатуры или начинает вводить случайные символы. Эта ошибка вызвана некоторой отсутствующей синхронизацией между iBus и XLib + AWT, и о ней уже сообщалось в JetBrains и iBus . Для этой проблемы есть три текущих решения:
- Обходной путь 1: принудительно перевести iBus в синхронный режим. Перед запуском Android Studio выполните в командной строке следующее:
$ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
- Обходной путь 2: Отключите ввод iBus в Android Studio. Чтобы отключить ввод iBus только для Android Studio, выполните следующее в командной строке:
Этот обходной путь отключает только методы ввода для Android Studio, а не для других приложений, которые вы можете запустить. Обратите внимание, что если вы перезапустите демон во время работы Android Studio (например, запустив$ XMODIFIERS= ./bin/studio.sh
ibus-daemon -rd
), вы фактически отключите методы ввода для всех других приложений, а также можете вызвать сбой JVM Android Studio с ошибкой сегментации. - Обходной путь 3: дважды проверьте привязки сочетаний клавиш, чтобы убедиться, что сочетание клавиш Next input не установлено на Control+Space, так как это также сочетание клавиш для автодополнения кода в Android Studio. Ubuntu 14.04 (Trusty) делает Super+Space сочетанием клавиш по умолчанию, но настройки из предыдущих версий все еще могут быть доступны. Чтобы проверить привязки сочетаний клавиш, запустите
ibus-setup
в командной строке, чтобы открыть окно настроек IBus. В разделе Сочетания клавиш проверьте метод Next input . Если он установлен на Control+Space, измените его на Super+Space или другое сочетание клавиш по вашему выбору.
Конфигурация проекта
В этом разделе описываются известные проблемы, связанные с конфигурацией проекта и синхронизацией Gradle.
Синхронизация Gradle не удалась: сломанный канал
Проблема в том, что демон Gradle пытается использовать IPv4 вместо IPv6.
- Обходной путь 1: В Linux поместите следующее в ваш
~/.profile
или~/.bash_profile
:export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
- Обходной путь 2: в файле vmoptions Android Studio измените строку
-Djava.net.preferIPv4Addresses=true
на-Djava.net.preferIPv6Addresses=true
Дополнительные сведения см. в Руководстве пользователя Networking IPv6 .
Ошибки «не аутентифицированный одноранговый узел» от синхронизации Gradle или SDK Manager
Основная причина этих ошибок — отсутствующий сертификат в $JAVA_HOME/jre/lib/certificates/cacerts
. Чтобы устранить эти ошибки, выполните следующие действия:
- Если вы находитесь за прокси, попробуйте подключиться напрямую. Если прямое подключение работает, то для подключения через прокси вам может понадобиться
keytool
, чтобы добавить сертификат прокси-сервера в файл cacerts. - Переустановите поддерживаемый, неизмененный JDK. Известна проблема, затрагивающая пользователей Ubuntu, которая приводит к пустому
/etc/ssl/certs/java/cacerts
. Чтобы обойти эту проблему, выполните следующее в командной строке:sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure
Развертывание
В этом разделе описываются известные проблемы, связанные с развертыванием вашего приложения на подключенном устройстве.
[Только для Mac OS] Инкрементные обновления не применяются из-за проблемы с отслеживанием файлов Gradle в проектах, сохраненных в /System/Volumes/Data
Проблема Gradle 18149 затрагивает Android Gradle Plugin версий 7.0 и выше, поскольку для них требуется Gradle версии 7.0 и выше . Начиная с Gradle 7.0, отслеживание файлов включено по умолчанию. Если вы работаете в Mac OS и ваш проект сохранен в /System/Volumes/Data
, отслеживание файлов Gradle не будет должным образом отслеживать изменения файлов. Это приведет к тому, что система сборки не увидит никаких изменений файлов и, следовательно, не обновит APK. Затем код инкрементного развертывания ничего не сделает, поскольку локальное состояние APK такое же, как на устройстве.
Чтобы обойти эту проблему, вам следует переместить каталог вашего проекта в ваш пользовательский каталог, то есть в /Users/username
. Затем система сборки будет должным образом уведомлена об изменениях файлов с помощью отслеживания файлов Gradle, и инкрементные изменения будут успешно применены.
Эмулятор Android HAXM на macOS High Sierra
Эмулятор Android на macOS High Sierra (10.13) требует HAXM 6.2.1+ для лучшей совместимости и стабильности с macOS. Однако в macOS 10.13 более сложный процесс установки расширений ядра, таких как HAXM. Вам необходимо вручную разрешить установку самого расширения ядра следующим образом:
- Сначала попробуйте установить последнюю версию HAXM из SDK Manager .
- В MacOS перейдите в Системные настройки > Безопасность и конфиденциальность .
Если вы видите предупреждение о том, что загрузка системного программного обеспечения от разработчика «Intel Corporation Apps» заблокирована , нажмите « Разрешить »:
Дополнительную информацию и способы обхода проблемы см. на этой веб-странице Apple и в описании проблемы 62395878 .
Применить изменения
В этом разделе описываются известные проблемы, связанные с применением изменений .
Новое имя приложения не применено
Если вы переименуете свое приложение, а затем попытаетесь применить это изменение, обновленное имя может не отразиться. Чтобы обойти эту проблему, нажмите «Выполнить» чтобы повторно развернуть приложение и увидеть изменения.
Проблема в Android Runtime приводит к ошибке
Если вы используете устройство под управлением Android 8.0 или 8.1, вы можете столкнуться с сообщениями "VERIFICATION_ERROR" при попытке применить определенные типы изменений (особенно если вы используете Kotlin). Это сообщение вызвано проблемой с Android Runtime, которая исправлена в Android 9.0 и выше. Хотя эта проблема приводит к сбою Apply Changes, вы все равно можете Run ваше приложение снова, чтобы увидеть ваши изменения. Тем не менее, мы рекомендуем вам обновить устройство до Android 9.0 или выше.
Отладка и тестирование
В этом разделе описываются известные проблемы, связанные с отладкой и тестированием вашего приложения.
JUnit проверяет отсутствующие ресурсы в classpath при запуске из Android Studio
Если в ваших модулях Java есть определенные папки ресурсов, то эти ресурсы не будут найдены при запуске тестов из IDE. Запуск тестов с использованием Gradle из командной строки будет работать. Выполнение задачи check
Gradle из IDE также будет работать. См. issue 64887 для получения более подробной информации.
Эта проблема возникает из-за IntelliJ 13, которая требует, чтобы у вас была только одна папка в качестве classpath. Сборщик IntelliJ копирует все ресурсы в эту папку сборки, но Gradle не копирует ресурсы.
- Обходной путь 1: Запустите задачу
check
Gradle из IDE вместо запуска модульного теста. - Обходной путь 2: Обновите скрипт сборки, чтобы вручную скопировать ресурсы в папку сборки. Подробнее см. комментарий № 13 .
Запуск тестов JUnit может привести к двойной компиляции кода.
При создании нового проекта шаблон конфигурации JUnit может быть создан с двумя шагами "Before launch": Make и Gradle-aware Make. Затем эта конфигурация распространяется на все созданные конфигурации запуска JUnit.
- Чтобы устранить проблему в текущем проекте, нажмите «Выполнить» > «Изменить конфигурации» и измените конфигурацию JUnit по умолчанию, включив только шаг Make с поддержкой Gradle.
- Чтобы исправить проблему для всех будущих проектов, нажмите Файл > Закрыть проект . Вы должны увидеть экран приветствия. Затем нажмите Настроить > Параметры проекта по умолчанию > Конфигурации запуска и измените конфигурацию JUnit, включив только шаг Gradle-aware Make.
Некоторые конфигурации тестового запуска не работают
Не все конфигурации запуска, доступные при щелчке правой кнопкой мыши по тестовому методу, являются допустимыми. В частности, следующие конфигурации недопустимы:
- Конфигурации запуска Gradle (на значке которых изображен логотип Gradle) не работают.
- Конфигурации запуска JUnit (со значком без зеленого Android) не применяются к тестам инструментирования, которые невозможно запустить на локальной JVM.
Добавление точек останова Java при отладке собственного кода
Пока ваше приложение приостановлено на точке останова в вашем собственном коде, отладчики Auto и Dual могут не сразу распознать новые установленные вами точки останова Java. Чтобы избежать этой проблемы, добавьте точки останова Java либо до начала сеанса отладки, либо пока приложение приостановлено на точке останова Java. Для получения дополнительной информации см. issue 229949 .
Выход из собственного отладчика
При использовании автоматического или двойного отладчика для отладки Java и собственного кода, если вы входите в собственную функцию из своего кода Java (например, отладчик приостанавливает выполнение на строке в вашем коде Java, которая вызывает собственную функцию, и вы нажимаете «Шаг в...» ) и вы хотите вернуться к своему коду Java, нажмите «Возобновить программу»
(вместо Шага вон)
или перешагнуть
). Процесс вашего приложения все равно будет приостановлен, поэтому нажмите «Возобновить программу».
на вкладке your-module -java , чтобы возобновить его. Для получения дополнительной информации см. issue 224385 .
Собственный отладчик зависает при загрузке библиотек
При первом использовании собственного отладчика после обновления до Android Studio 4.2 и выше собственный отладчик может перестать отвечать при загрузке библиотек с устройства Android. Эта проблема является липкой и продолжает возникать даже при остановке и перезапуске отладчика. Чтобы исправить эту проблему, удалите кэш LLDB в $USER/.lldb/module-cache/
.
Собственный отладчик аварийно завершает работу с сообщением «Процесс отладки завершен с кодом выхода 127»
Эта ошибка возникает на платформах на базе Linux при запуске собственного отладчика. Она указывает на то, что одна из библиотек, требуемых собственным отладчиком, не установлена в локальной системе. Имя отсутствующей библиотеки может быть уже напечатано в файле idea.log
. Если нет, вы можете использовать терминал для перехода в установочный каталог Android Studio и выполнить командную строку bin/lldb/bin/LLDBFrontend --version
чтобы узнать, какие библиотеки отсутствуют. Обычно отсутствующей библиотекой является ncurses5
, поскольку некоторые последние дистрибутивы Linux уже обновились до ncurses6
.
Профайлеры
В этом разделе описываются известные проблемы с профайлерами.
Профилировщик собственной памяти: профилирование недоступно во время запуска приложения
В настоящее время Native Memory Profiler недоступен во время запуска приложения. Эта опция будет доступна в следующем выпуске.
В качестве обходного пути можно использовать автономный профилировщик командной строки Perfetto для захвата профилей запуска.
Ошибки тайм-аута в CPU Profiler
Вы можете столкнуться с ошибками "Recording failed to stop" в Android Studio CPU Profiler при выборе конфигураций Sample Java Methods или Trace Java Methods . Это часто ошибки тайм-аута, особенно если вы видите следующее сообщение об ошибке в файле idea.log
:
Wait for ART trace file timed out
Ошибки тайм-аута, как правило, влияют на отслеживаемые методы больше, чем на выборочные методы, и на более длинные записи больше, чем на короткие. В качестве временного решения может быть полезно попробовать более короткие записи, чтобы посмотреть, исчезнет ли ошибка.
Если у вас возникли проблемы с тайм-аутом в Profiler, отправьте сообщение об ошибке , указав марку/модель вашего устройства(-ий) и любые соответствующие записи из idea.log
и logcat.
Исключение ADB при отладке или профилировании
При использовании Platform Tools 29.0.3 встроенная отладка и Android Studio Profilers могут работать некорректно, и вы можете увидеть либо «AdbCommandRejectedException», либо «Failed to connect port» в файле idea.log
при выборе Help > Show Log . Обновление Platform Tools до версии 29.0.4 или выше устраняет обе проблемы.
Чтобы обновить Platform Tools, выполните следующие действия:
- Откройте SDK Manager из Android Studio, нажав Инструменты > SDK Manager или нажав SDK Manager.
на панели инструментов.
- Щелкните флажок рядом с Android SDK Platform-Tools, чтобы отобразилась галочка. Значок загрузки
должно появиться в левом столбце.
- Нажмите «Применить» или «ОК» .
Плагин препятствует работе окна Build Output
Использование плагина CMake simple highlighter предотвращает появление контента в окне Build Output. Сборка запускается, и появляется вкладка Build Output, но вывод не печатается ( проблема № 204791544 ).
Порядок установки препятствует запуску
Установка более новой версии Android Studio перед более старой может помешать запуску старой версии. Например, если вы сначала установите версию Android Studio canary, а затем попытаетесь установить и запустить стабильную версию, стабильная версия может не запуститься. В таких случаях необходимо очистить кэш, чтобы запустить стабильную (старую) версию. В macOS для очистки кэша удалите каталог Library/ApplicationSupport/Google/AndroidStudio version_number
. В Windows для очистки кэша используйте Очистку диска .
Espresso Test Recorder не работает с Compose
Espresso Test Recorder не работает с проектами, включающими Compose. Чтобы создать тесты пользовательского интерфейса для проектов, включающих Compose, см. Тестирование макета Compose .
Сочетание клавиш Logcat конфликтует с неанглоязычными раскладками клавиатуры
Если вы используете неанглийскую раскладку клавиатуры, сочетание клавиш Logcat по умолчанию может конфликтовать с раскладкой и не позволять вам вводить определенные символы при редактировании текста в Android Studio. Чтобы обойти эту проблему, удалите или переназначьте конфликтующую раскладку клавиатуры Logcat. Чтобы изменить раскладки клавиатуры Logcat в Android Studio, перейдите в Android Studio > Настройки > Раскладка клавиатуры и найдите Logcat
в списке раскладок. Для получения дополнительной информации см. Issue #263475910 .
Эта проблема будет решена путем удаления ярлыка Logcat в Android Studio Electric Eel Patch 1.
Известные проблемы с плагином Android Gradle
В этом разделе описываются известные проблемы, существующие в последней стабильной версии плагина Android Gradle.
Не все зависимости библиотеки динамических функций проверяются линтом
При запуске lint с checkDependencies = true
из модуля приложения зависимости библиотеки динамических функций не проверяются, если они также не являются зависимостями приложения ( проблема № 191977888 ). В качестве обходного пути можно запустить задачу lint для этих библиотек.
Подписание файла, названного с использованием символов возврата каретки
Подписание JAR (схема v1) не поддерживает имена файлов, содержащие символы возврата каретки ( проблема № 63885809 ).
Изменение вариантов выходных данных во время сборки может не работать
Использование API Variant для управления вариантными выходами сломано с новым плагином. Он по-прежнему работает для простых задач, таких как изменение имени APK во время сборки, как показано ниже:
// If you use each() to iterate through the variant objects, // you need to start using all(). That's because each() iterates // through only the objects that already exist during configuration time— // but those object don't exist at configuration time with the new model. // However, all() adapts to the new model by picking up object as they are // added during execution. android.applicationVariants.all { variant -> variant.outputs.all { outputFileName = "${variant.name}-${variant.versionName}.apk" } }
Однако более сложные задачи, включающие доступ к объектам outputFile
, больше не работают. Это связано с тем, что задачи, специфичные для вариантов, больше не создаются на этапе конфигурации. Это приводит к тому, что плагин не знает все свои выходные данные заранее, но это также означает более быстрое время конфигурации.
manifestOutputFile больше не доступен
Метод processManifest.manifestOutputFile()
больше недоступен, и при его вызове возникает следующая ошибка:
A problem occurred configuring project ':myapp'. Could not get unknown property 'manifestOutputFile' for task ':myapp:processDebugManifest' of type com.android.build.gradle.tasks.ProcessManifest.
Вместо вызова manifestOutputFile()
для получения файла манифеста для каждого варианта вы можете вызвать processManifest.manifestOutputDirectory()
чтобы вернуть путь к каталогу, содержащему все сгенерированные манифесты. Затем вы можете найти манифест и применить к нему свою логику. Пример ниже динамически изменяет код версии в манифесте:
android.applicationVariants.all { variant -> variant.outputs.all { output -> output.processManifest.doLast { // Stores the path to the maifest. String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml" // Stores the contents of the manifest. def manifestContent = file(manifestPath).getText() // Changes the version code in the stored text. manifestContent = manifestContent.replace('android:versionCode="1"', String.format('android:versionCode="%s"', generatedCode)) // Overwrites the manifest with the new text. file(manifestPath).write(manifestContent) } } }
Проблемы с поддержкой AGP 7.3.0 AIDL и Kotlin 1.7.x
Использование AGP 7.3.0 с KAPT в Kotlin 1.7.x приводит к удалению исходных наборов AIDL для определенных вариантов сборки. Вы по-прежнему можете использовать другие исходные наборы AIDL, включая наборы main/
, типы сборки, варианты продукта и комбинации вариантов продукта. Если вам нужно использовать исходные наборы AIDL для определенных вариантов, продолжайте использовать Kotlin 1.6.21.
Исправлены известные проблемы
В этом разделе описываются известные проблемы, которые были исправлены в недавнем выпуске. Если у вас возникли какие-либо из этих проблем, вам следует обновить Android Studio до последней стабильной или предварительной версии .
Исправлено в Android Studio 2021.1.1
- Отсутствует вывод lint : текстовый вывод lint не выводится на
stdout
, когда задача lint находится вUP-TO-DATE
( проблема № 191897708 ). Исправлено в AGP 7.1.0-alpha05. - Проблемы с модульным тестированием проекта приложения, использующего плагин Hilt : classpath модульного теста содержит неинструментированные классы приложения, что означает, что Hilt не инструментирует классы приложения для обработки внедрения зависимостей при запуске модульных тестов ( проблема № 213534628 ). Исправлено в AGP 7.1.1.
Исправлено в Android Studio 2020.3.1
- Исключения Lint в проектах Kotlin: проекты Kotlin, в которых установлено
checkDependencies = true
могут столкнуться с исключениями или ошибками нулевого указателя ( проблема № 158777858 ).
Исправлено в Android Studio 4.2
- IDE зависает на macOS Big Sur: Android Studio 4.1 может зависнуть при открытии диалогового окна.
Исправлено в Android Studio 4.1
- Перезапустите, чтобы применить настройки памяти из предыдущей версии IDE: После обновления Android Studio необходимо перезапустить Android Studio, чтобы применить все настройки памяти, перенесенные из более ранней версии IDE.
- Класс манифеста с пользовательскими строками разрешений больше не генерируется по умолчанию: если вы хотите сгенерировать класс, установите
android.generateManifestClass = true
.
Исправлено в Android Studio 3.6
Ошибка установки APK на LineageOS : развертывание приложения на устройствах под управлением определенных версий LineageOS или CyanogenMod может завершиться ошибкой и вызвать исключение
INSTALL_PARSE_FAILED_NOT_APK
.В Android Studio 3.6 Beta 1 и более поздних версиях среда IDE обрабатывает это исключение, выполняя полную установку приложения при развертывании приложения на устройствах LineageOS или CyanogenMod, что может привести к увеличению времени развертывания.
Исправлено в Android Studio 3.5.2
- Неправильный стиль кода XML : при редактировании кода XML среда IDE применила неправильный стиль кода, если в строке меню был выбран пункт Код > Переформатировать код .
Исправлено в Android Studio 3.3.1
Ошибки нехватки памяти при сканировании проектов на основе C++ : Когда Gradle сканирует проект, содержащий код C++ в нескольких местах на одном диске, сканирование включает все каталоги ниже первого общего каталога. Сканирование большого количества каталогов и файлов может привести к ошибкам нехватки памяти.
Для получения дополнительной информации по этой проблеме прочтите описание ошибки , связанной с ней.