Невозможно собрать apk или пакет приложений после обновления флаттера

При попытке собрать APK я получаю следующую ошибку:

Execution failed for task ':assets_audio_player_web:verifyReleaseResources'.
> A failure occurred while executing com.android.build.gradle.tasks.VerifyLibraryResourcesTask$Action
   > Android resource linking failed
     ERROR:C:\Users\lubya\.gradle\caches\transforms-3\ba0a6fe31cd4794ca72feaf033c059c8\transformed\core-1.13.1\res\values\values.xml:113:5-122:25: AAPT: error: resource android:attr/lStar not found.

У меня была куча других ошибок, которые мне удалось исправить. Я также изменил свою ext.kotlin_version в своем build.gradle с 1.6.10 на 1.7.0 на случай, если это имеет какое-либо значение.

Соответствующие строки в pubsec.yaml:

dependencies:
  flutter:
    sdk: flutter
  assets_audio_player: ^3.0.8

Я пытался исправить другие ошибки, но эта так и не исчезла. Я ожидал собрать apk.

0
0
50
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

В pubspec.yaml попробуйте добавить версию как любую

assets_audio_player: any

Затем выполните очистку флаттера и попробуйте построить его.

Не уверен, что это сработает, но я сохраню это на случай, если эта ошибка возникнет в ближайшем будущем.

JustanOneQuick 18.08.2024 17:02

Это должно автоматически принять соответствующую версию.

Kaushik Chandru 18.08.2024 17:36

О, это классная функция, о которой я не знал. Мне придется протестировать приложение, чтобы убедиться, что оно работает с этой версией, верно?

JustanOneQuick 19.08.2024 11:12
Ответ принят как подходящий

Эта ошибка существует в версиях flutter 3.24+. Судя по отчетам, есть 2 возможных пути решения проблемы:

  1. Понизьте версию Flutter до 3.22. Будет работать, потому что соответствующие патчи инфраструктуры Flutter не дошли до версии 3.22, а только до версии 3.24 и выше. Но нет оснований полагать, что это будет исправлено в новых версиях, поскольку исправление должно выполняться на стороне плагина, а не Flutter.
  2. Судя по этому ответу, это дополнение к build.gradle должно работать. Убедитесь, что вы создаете отдельный блок subprojects и не добавляете его в существующий:
subprojects {
    afterEvaluate { project ->
        if (project.plugins.hasPlugin("com.android.application") ||
                project.plugins.hasPlugin("com.android.library")) {
            project.android {
                compileSdkVersion 34
            }
        }
    }
}

Понижение версии сработало для меня.

JustanOneQuick 18.08.2024 17:01

Другие вопросы по теме