Известные проблемы с Android Studio и плагином Android Gradle

На этой странице отслеживаются известные проблемы с Android Studio и плагином Android Gradle. Если вы столкнулись с проблемой, не указанной здесь, пожалуйста, сообщите об ошибке .

Upgrade to preview: Each release of Android Studio and the Android Gradle plugin aims to improve stability and performance, and add new features. To experience the benefits of upcoming releases now, download and install Android Studio Preview .

Known Issues with Android Studio

В этом разделе описаны известные проблемы, существующие в Android Studio.

Проблема параллельного выполнения Gradle Sync в Android Studio Quail 1

In Android Studio Quail 1, the org.gradle.parallel=true property in gradle.properties no longer enables parallel model fetching during Gradle Sync. This will result in a large sync time regression for large projects.

Чтобы включить параллельную синхронизацию в Android Studio Quail 1, установите параметр org.gradle.tooling.parallel=true в файле gradle.properties вашего проекта.

Android Studio Panda 3 несовместима с плагином IntelliJ Development версии 1.2.0.

При использовании плагина Development IDE версии 1.2.0, начиная с Android Studio Panda 3 Canary 1, выполнение действия завершается с ошибкой ( проблема #492439205 ):

Found interface com.android.tools.idea.gradle.project.build.invoker.GradleBuildInvoker$Request, but class was expected

Разработчики из подразделения Development работают над исправлением для новой версии.

Временное решение : отключение плагина Development IDE версии 1.2.0 решает проблему до тех пор, пока эта несовместимость не будет исправлена ​​в новой версии плагина.

Kotlin 2.0: Лямбда-выражения не могут быть разрешены в инспекторе макета.

При использовании Kotlin 2.0 лямбда-выражения не могут быть разрешены, и инспектор макета не может перейти к исходному коду лямбда-выражения обычным способом.

Временное решение : Добавьте указанную ниже опцию компилятора в качестве временного решения, пока эта проблема не будет исправлена:

kotlin {
  compilerOptions {
    freeCompilerArgs.add("-Xlambdas=class")
  }
}

Запуск конфигурации без использования функции Make, учитывающей особенности Gradle, перед запуском приводит к ошибке развертывания.

В Android Studio Ladybug Feature Drop Canary 9 была обнаружена проблема, из-за которой информация о конфигурации запуска удалялась из проектов, открытых в этой версии. Если вы когда-либо открывали свой проект в этой версии, и запуск приложения приводит к ошибке «загрузка артефактов сборки», убедитесь, что в активной конфигурации запуска в разделе «Перед запуском» присутствует шаг «Gradle-aware Make». Для этого перейдите в «Конфигурации запуска/отладки» > «Редактировать конфигурации» , выберите активную конфигурацию запуска и убедитесь, что в разделе «Перед запуском» присутствует шаг «Gradle-aware Make». К сожалению, Android Studio не может автоматически исправить эту проблему, поскольку некоторые конфигурации запуска могли быть намеренно настроены без шага «Gradle-aware Make».

Функция «Применить изменения и перезапустить активность» не перезапускает активность на устройствах или эмуляторах с API уровня 35.

When you deploy code changes to an API 35 device with 'Apply Changes & Restart Activity', the app won't be restarted and you won't see the effect of the changes. If you rerun the application you will see the effect of the code changes. Our team is actively investigating this.

В окне помощника Firebase отображается сообщение об ошибке.

Если в окне Firebase Assistant (Инструменты > Firebase в главном меню) отображается сообщение об ошибке, очистите кэш и перезапустите Android Studio, чтобы исправить ошибку.

Can't isolate a view using Layout Inspector

Возможность изолировать представление с помощью встроенного инспектора макета временно недоступна. Мы работаем над устранением этой проблемы в будущей версии.

Не все узлы композиции можно проверить с помощью инспектора компоновки.

If you notice that not all Compose nodes are inspectable when you're using Layout Inspector , this is likely due to a bug that has been fixed in Compose version 1.5.0-alpha04. If you're experiencing this issue, make sure that you upgrade to Compose version 1.5.0-alpha04 or higher.

Error when rendering Compose Preview

Starting with Android Studio Chipmunk, if you're seeing java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner or java.lang.ClassNotFoundException: androidx.savedstate.R$id in the issues panel, make sure to include a debugImplementation dependency to androidx.lifecycle:lifecycle-viewmodel-savedstate in your module.

If you're seeing java.lang.NoSuchFieldError: view_tree_lifecycle_owner in the issues panel, make sure to include a debugImplementation dependency to androidx.lifecycle:lifecycle-runtime in your module.

If you're seeing java.lang.NoClassDefFoundError: Could not initialize class androidx.customview.poolingcontainer.PoolingContainer or java.lang.NoClassDefFoundError: androidx/customview/poolingcontainer/PoolingContainerListener in the issues panel, make sure to include a debugImplementation dependency to androidx.customview:customview-poolingcontainer in your module.

Ошибка при использовании разных паролей для ключа и хранилища ключей.

Начиная с версии 4.2, Android Studio теперь работает на JDK 11. Это обновление приводит к изменению базового поведения, связанного с ключами подписи.

When you navigate to Build > Generate Signed Bundle / APK and attempt to configure app signing for an app bundle or an APK, entering different passwords for the key and keystore may result in the following error:

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

Чтобы обойти эту проблему, введите один и тот же пароль как для ключа, так и для хранилища ключей.

После установки версии 4.2 Android Studio не запускается.

Studio tries to import previous .vmoptions and sanitize them to work with the garbage collector used by JDK 11. If that process fails, the IDE may not start for certain users who set custom VM options in the .vmoptions file.

Для решения этой проблемы рекомендуется закомментировать пользовательские параметры в файле .vmoptions (используя символ «#»). Файл .vmoptions можно найти в следующих местах:

Windows

C:\Users\YourUserName\AppData\ [Local|Roaming] \Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

Linux

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

Если после применения этого обходного решения Studio по-прежнему не запускается, см. раздел «Studio не запускается после обновления» ниже.

Приложения, использующие Database Inspector, аварийно завершают работу на эмуляторе Android 11.

Приложения, использующие инспектор баз данных, могут аварийно завершать работу при запуске на эмуляторе Android 11, при этом в logcat может появиться ошибка следующего вида:

 Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

To fix this issue, upgrade your Android 11 emulator to version 9 or higher by navigating to Tools > SDK Manager . In the SDK Platforms tab, check the box labeled Show Package Details and select revision 9 or higher of the Android 11 emulator.

Studio doesn't start after upgrade

Если Studio не запускается после обновления, проблема может быть связана с некорректной конфигурацией Android Studio, импортированной из предыдущей версии Android Studio, или с несовместимым плагином. В качестве временного решения попробуйте удалить (или переименовать, для резервного копирования) указанную ниже директорию (в зависимости от версии Android Studio и операционной системы) и снова запустить Android Studio. Это вернет Android Studio в состояние по умолчанию, удалив все сторонние плагины.

For Android Studio 4.1 and later:

  • 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

For Android Studio 4.0 and earlier:

  • Windows: %HOMEPATH%\.AndroidStudio <version> \config
    Пример: C:\Users\ your_user_name \.AndroidStudio3.6\config

  • macOS: ~/Library/Preferences/AndroidStudio <version>
    Example: ~/Library/Preferences/AndroidStudio3.6

  • Linux: ~/.AndroidStudio <version> /config
    Example: ~/.AndroidStudio3.6/config

Note that the configuration directory for Canary and Beta releases of Android Studio is PreviewX.Y instead of XY for the <version> . For example, Android Studio 4.1 Canary builds use AndroidStudioPreview4.1 , instead of the AndroidStudio4.1 directory that is used for Release Candidates and Stable releases.

Проблема компиляции в многоплатформенных проектах Kotlin.

В коде Kotlin MPP могут возникать ошибки компиляции из-за отсутствующих символов. Обновление вашего плагина Kotlin до версии 1.4 должно решить эту проблему.

Key mapping conflicts on Linux

On Linux, certain keyboard shortcuts conflict with default Linux keyboard shortcuts and those of popular window managers, such as KDE and GNOME. These conflicting keyboard shortcuts may not work as expected in Android Studio.

Более подробную информацию об этой проблеме (включая возможные обходные пути) можно найти в системе отслеживания ошибок IntelliJ .

Small UI text on ChromeOS

В ChromeOS текст может отображаться значительно мельче, чем в предыдущих версиях. Чтобы обойти эту проблему, выполните следующие действия:

  1. Откройте окно настроек , нажав «Файл» > «Настройки».
  2. Navigate to Appearance & Behavior > Appearance .
  3. Select Use custom font .
  4. Увеличьте размер шрифта.
  5. В окне настроек перейдите в раздел Редактор > Шрифт .
  6. Увеличьте размер шрифта.
  7. Нажмите ОК .

Code editing

В этом разделе описаны известные проблемы, связанные с редактором кода.

Frozen keyboard input - "iBus" problems on 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, выполните следующую команду в командной строке:
    $ XMODIFIERS= ./bin/studio
    This workaround only disables input methods for Android Studio, not any other applications you may be running. Note that if you restart the daemon while Android Studio is running (for example, by running ibus-daemon -rd ), you effectively disable the input methods for all other applications and may also crash Android Studio's JVM with a segmentation fault.
  • Обходной путь 3: Дважды проверьте сочетания клавиш, чтобы убедиться, что сочетание клавиш для ввода «Далее» не установлено на Control+Space, поскольку это также сочетание клавиш для автозавершения кода в Android Studio. В Ubuntu 14.04 (Trusty) сочетание клавиш Super+Space установлено по умолчанию, но настройки из предыдущих версий могут остаться. Чтобы проверить сочетания клавиш, запустите ibus-setup в командной строке, чтобы открыть окно настроек IBus. В разделе «Сочетания клавиш» проверьте метод ввода «Далее» . Если он установлен на Control+Space, измените его на Super+Space или другое сочетание клавиш по вашему выбору.

Конфигурация проекта

В этом разделе описаны известные проблемы, связанные с конфигурацией проекта и синхронизацией Gradle.

Gradle Sync Failed: Broken Pipe

Проблема в том, что демон Gradle пытается использовать IPv4 вместо IPv6.

  • Решение 1: В Linux добавьте следующее в файл ~/.profile или ~/.bash_profile :
    export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
  • Workaround 2: in Android Studio's vmoptions file , change the line -Djava.net.preferIPv4Addresses=true to -Djava.net.preferIPv6Addresses=true For more information, see the Networking IPv6 User Guide .

Ошибки "узел не аутентифицирован" при синхронизации Gradle или SDK Manager.

Основная причина этих ошибок — отсутствие сертификата в каталоге $JAVA_HOME/jre/lib/certificates/cacerts . Для устранения этих ошибок выполните следующие действия:

  • If you're behind a proxy, try to connect directly. If the direct connection works, then in order to connect via the proxy you may need to use keytool to add the proxy server's certificate to the cacerts file.
  • Re-install a supported, unmodified JDK. There's a known issue affecting Ubuntu users, which results in an empty /etc/ssl/certs/java/cacerts . To work around this issue, execute the following on the command line:
    sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure

Развертывание

В этом разделе описаны известные проблемы, связанные с развертыванием вашего приложения на подключенном устройстве.

[Только для Mac OS] Инкрементальные обновления не применяются из-за проблемы с отслеживанием файлов Gradle в проектах, сохраненных в /System/Volumes/Data

Проблема Gradle 18149 затрагивает версии плагинов Gradle для Android 7.0 и выше, поскольку они требуют Gradle версии 7.0 и выше . Начиная с Gradle 7.0, отслеживание изменений файлов включено по умолчанию. Если вы работаете на Mac OS и ваш проект сохранен в /System/Volumes/Data , отслеживание изменений файлов в Gradle не будет корректно отслеживать изменения файлов. Это приведет к тому, что система сборки не увидит никаких изменений файлов и, следовательно, не обновит APK-файлы. В этом случае код инкрементального развертывания ничего не будет делать, поскольку локальное состояние APK совпадает с состоянием на устройстве.

Чтобы обойти эту проблему, переместите каталог вашего проекта в каталог пользователя, то есть в /Users/username . В этом случае система сборки будет корректно уведомлена об изменениях файлов благодаря отслеживанию файлов Gradle, и инкрементальные изменения будут успешно применены.

Android Emulator HAXM on macOS High Sierra

The Android Emulator on macOS High Sierra (10.13) requires HAXM 6.2.1+ for best compatibility and stability with macOS. However, macOS 10.13 has a more involved process to install kernel extensions such as HAXM. You need to manually allow the kernel extension itself to be installed as follows:

  1. Для начала попробуйте установить последнюю версию HAXM из менеджера SDK .
  2. В macOS перейдите в «Системные настройки» > «Безопасность и конфиденциальность» .
  3. Если вы видите предупреждение о том, что загрузка системного программного обеспечения от разработчика "Intel Corporation Apps" заблокирована , нажмите " Разрешить ":

Для получения дополнительной информации и обходных решений см. эту веб-страницу Apple и сообщение об ошибке № 62395878 .

Apply Changes

В этом разделе описаны известные проблемы, связанные с применением изменений .

New app name not applied

Если вы переименуете приложение, а затем попытаетесь применить это изменение, обновленное имя может не отобразиться. Чтобы обойти эту проблему, нажмите « Запустить».Run icon to re-deploy your app and see your changes.

Issue in Android Runtime throws error

Если вы используете устройство под управлением Android 8.0 или 8.1, при попытке применить определенные типы изменений (особенно если вы используете Kotlin) вы можете столкнуться с сообщением "VERIFICATION_ERROR". Это сообщение вызвано проблемой в среде выполнения Android, которая исправлена ​​в Android 9.0 и выше. Хотя эта проблема приводит к сбою применения изменений, вы все еще можете запустить приложение. значок «Запуск» Чтобы увидеть изменения, снова откройте приложение. Однако мы рекомендуем обновить устройство до Android 9.0 или более поздней версии.

Debugging and testing

В этом разделе описаны известные проблемы, связанные с отладкой и тестированием вашего приложения.

При запуске из Android Studio JUnit проверяет наличие отсутствующих ресурсов в classpath.

If you have specific resource folders in your Java modules, then those resources won't be found when running tests from the IDE. Running tests using Gradle from the command line will work. Executing the Gradle check task from the IDE will also work. See issue 64887 for more details.

This issue occurs because as of IntelliJ 13, which requires that you only have a single folder as the classpath. IntelliJ's builder copies all resources into that build folder, but Gradle doesn't copy over the resources.

  • Обходной путь 1: Запустите задачу check Gradle из IDE, а не запускайте модульный тест.
  • Обходной путь 2: Обновите скрипт сборки, чтобы он вручную копировал ресурсы в папку сборки. Подробнее см. комментарий #13 .

Running JUnit tests may compile the code twice

When creating a new project, the template JUnit configuration might be created with two "Before launch" steps: Make and Gradle-aware Make. This configuration is then propagated to all created JUnit run configurations.

  • Чтобы исправить проблему для текущего проекта, нажмите «Запуск» > «Изменить конфигурации» и измените конфигурацию JUnit по умолчанию, включив в нее только шаг Make, поддерживающий Gradle.
  • To fix the issue for all future projects, click File > Close Project . You should see the welcome screen. Then click Configure > Project Defaults > Run Configurations and change the JUnit configuration to only include the Gradle-aware Make step.

Некоторые конфигурации тестового запуска не работают.

Не все доступные при щелчке правой кнопкой мыши по тестовому методу параметры запуска являются допустимыми. В частности, следующие параметры недопустимы:

  • Конфигурации запуска Gradle (с иконкой в ​​виде логотипа Gradle) не работают.
  • Настройки запуска JUnit (значок которых не содержит зелёного логотипа Android) не применяются к инструментальным тестам, которые нельзя запустить на локальной JVM.
Android Studio also remembers the run configuration created in a given context (for example, right-clicking a specific class or method), and will not offer to run in a different configuration in the future. To fix this, click Run > Edit Configurations and remove the incorrectly-created configurations.

Добавление точек останова Java при отладке нативного кода

While your app is paused at a breakpoint in your native code, the Auto and Dual debuggers may not immediately recognize new Java breakpoints that you set. To avoid this issue, add Java breakpoints either before starting a debug session or while the app is paused on a Java breakpoint. For more information, see issue 229949 .

Выход из нативного отладчика

При использовании автоматического или двойного отладчика для отладки кода Java и нативного кода, если вы переходите к выполнению нативной функции из вашего кода Java (например, отладчик приостанавливает выполнение на строке вашего кода Java, которая вызывает нативную функцию, и вы нажимаете кнопку «Шаг внутрь»), если вы переходите к выполнению нативной функции из вашего кода Java, отладчик приостанавливает выполнение на строке вашего кода Java, которая вызывает нативную функцию, и вы нажимаете кнопку «Шаг внутрь». Если вы хотите вернуться к своему Java-коду, нажмите «Возобновить программу». (вместо Step Out) or Step Over). Обработка вашего приложения по-прежнему будет приостановлена, поэтому нажмите «Возобновить программу». Чтобы возобновить выполнение, перейдите во вкладку your-module -java . Для получения дополнительной информации см. проблему 224385 .

Нативный отладчик зависает при загрузке библиотек.

While using the native debugger for the first time after upgrading to Android Studio 4.2 and higher, the native debugger may stop responding while loading libraries from the Android device. This issue is a sticky problem that continues to happen even if you stop and restart the debugger. To fix this problem, delete the LLDB cache at $USER/.lldb/module-cache/ .

Встроенный отладчик завершается с ошибкой "Процесс отладчика завершился с кодом выхода 127".

Эта ошибка возникает на платформах Linux при запуске нативного отладчика. Она указывает на то, что одна из библиотек, необходимых для работы нативного отладчика, не установлена ​​в локальной системе. Название отсутствующей библиотеки может быть уже указано в файле idea.log . Если нет, вы можете использовать терминал, чтобы перейти в каталог установки Android Studio и выполнить команду bin/lldb/bin/LLDBFrontend --version чтобы узнать, какие библиотеки отсутствуют. Как правило, отсутствующей библиотекой является ncurses5 , поскольку в некоторых последних дистрибутивах Linux уже обновлена ​​до ncurses6 .

Профайлеры

В этом разделе описаны известные проблемы, связанные с программами профилирования.

Профилировщик собственной памяти: профилирование недоступно при запуске приложения.

Функция профилирования собственной памяти в настоящее время недоступна при запуске приложения. Эта опция будет доступна в одном из следующих релизов.

В качестве обходного пути можно использовать автономный профилировщик командной строки Perfetto для создания профилей запуска.

Ошибки тайм-аута в профилировщике ЦП

You may experience "Recording failed to stop" errors in the Android Studio CPU Profiler when you select the Sample Java Methods or Trace Java Methods configurations. These are often timeout errors, especially if you see the following error message in the idea.log file:

Wait for ART trace file timed out

The timeout errors tend to affect traced methods more than sampled methods and longer recordings more than shorter recordings. As a temporary workaround, it may be helpful to try shorter recordings to see if the error disappears.

Если у вас возникают проблемы с таймаутом при использовании профилировщика, пожалуйста, сообщите об ошибке , указав марку/модель вашего устройства (устройств) и все соответствующие записи из файлов idea.log и logcat.

Исключение ADB при отладке или профилировании

When using Platform Tools 29.0.3, native debugging and the Android Studio Profilers might not work properly, and you might see either "AdbCommandRejectedException" or "Failed to connect port" in the idea.log file when you select Help > Show Log . Upgrading the Platform Tools to 29.0.4 or higher fixes both issues.

Для обновления инструментов платформы выполните следующие действия:

  1. Откройте менеджер SDK в Android Studio, выбрав Инструменты > Менеджер SDK или нажав Менеджер SDK. на панели инструментов.
  2. Установите флажок рядом с пунктом «Android SDK Platform-Tools» , чтобы отобразилась галочка. Значок загрузки. должно отображаться в левой колонке.
  3. Нажмите «Применить» или «ОК» .

Плагин препятствует работе окна вывода результатов сборки.

Using the CMake simple highlighter plugin prevents content from appearing in the Build Output window. The build runs and the Build Output tab appears, but there is no output printed ( issue #204791544 ).

Порядок установки предотвращает запуск.

Установка более новой версии Android Studio перед установкой более старой может помешать запуску последней. Например, если вы сначала установите тестовую версию Android Studio, а затем попытаетесь установить и запустить стабильную версию, она может не запуститься. В таких случаях необходимо очистить кэш, чтобы запустить стабильную (более старую) версию. На macOS для очистки кэша удалите каталог Library/ApplicationSupport/Google/AndroidStudio version_number . На Windows для очистки кэша используйте очистку диска .

Программа Espresso Test Recorder не работает с Compose.

Инструмент записи тестов Espresso не работает с проектами, включающими Compose. Чтобы создать тесты пользовательского интерфейса для проектов, включающих Compose, см. раздел «Тестирование макета Compose» .

Конфликты сочетаний клавиш Logcat с неанглийскими раскладками клавиатуры.

Если вы используете неанглийскую раскладку клавиатуры, стандартное сочетание клавиш Logcat может конфликтовать с этой раскладкой и не позволять вам вводить определенные символы при редактировании текста в Android Studio. Чтобы обойти эту проблему, удалите или переназначьте конфликтующее сочетание клавиш Logcat. Чтобы отредактировать сочетания клавиш Logcat в Android Studio, перейдите в Android Studio > Настройки > Сочетания клавиш и найдите Logcat в списке сочетаний клавиш. Для получения дополнительной информации см. проблему #263475910 .

Эта проблема будет решена путем удаления ярлыка Logcat в Android Studio Electric Eel Patch 1.

Известные проблемы с плагином Android Gradle.

В этом разделе описаны известные проблемы, существующие в последней стабильной версии плагина Android Gradle.

Не все зависимости библиотек с динамическими функциями проходят проверку синтаксиса.

When running lint with checkDependencies = true from an app module, dynamic-feature library dependencies aren't checked unless they're also app dependencies ( issue #191977888 ). As a workaround, the lint task can be run on those libraries.

Подписной файл, названный символами возврата каретки.

Подписание JAR-файлов (схема v1) не поддерживает имена файлов, содержащие символы возврата каретки ( проблема #63885809 ).

Изменение результатов вариантов во время сборки может не сработать.

Использование API вариантов для управления результатами вариантов не работает с новым плагином. Однако он по-прежнему работает для простых задач, таких как изменение имени 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"
    }
}

However, more complicated tasks that involve accessing outputFile objects no longer work. That's because variant-specific tasks are no longer created during the configuration stage. This results in the plugin not knowing all of its outputs up front, but it also means faster configuration times.

Функция 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.

Instead of calling manifestOutputFile() to get the manifest file for each variant, you can call processManifest.manifestOutputDirectory() to return the path of the directory that contains all generated manifests. You can then locate a manifest and apply your logic to it. The sample below dynamically changes the version code in the manifest:

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

Проблемы с поддержкой AIDL в AGP 7.3.0 и 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 UP-TO-DATE текстовый вывод команды lint не отображается ( проблема #191897708 ). Исправлено в AGP 7.1.0-alpha05.
  • Проблемы с модульным тестированием проекта приложения, использующего плагин Hilt : путь к классам для модульных тестов содержит неинструментированные классы приложения, что означает, что 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++ в нескольких местах на одном диске, сканирование включает все каталоги, расположенные ниже первого общего каталога. Сканирование большого количества каталогов и файлов может привести к ошибкам нехватки памяти.

    Для получения более подробной информации по этому вопросу ознакомьтесь с описанием ошибки , связанной с данной проблемой.