Flutter Android Build сбой с плагином Workmanager - конфликт с версией KotlinAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Flutter Android Build сбой с плагином Workmanager - конфликт с версией Kotlin

Сообщение Anonymous »

Я разрабатываю приложение Flutter, которое использует плагин Workmanager для фоновых задач. Приложение отлично работает на iOS, но я сталкиваюсь с проблемами сборки Android. Вот моя настройка: < /p>
Flutter Workmanager Build Проблема на Android < /h1>
среда: < /h2>
  • < li> версия Flutter : 3.x
  • плагин Workmanager : ^0.5.0
  • kotlin version : 1.9.22
  • java версия : 17
  • target sdk : 34
  • min sdk : 26
Проблема: < /h2>
При создании приложения Android процесс сборки не выполняется со следующей ошибкой: < /p>

Код: Выделить всё

Error: Gradle build failed to produce an .apk file.
< /code>
 Шаги Пробое: < /h2>

[*]  [b] Обновленная версия Kotlin: < /strong>
Обновлено Android/Build.Gradle 
и Android/App/Build.Gradle для использования Kotlin 1.9.22.

Код: Выделить всё

buildscript {
ext.kotlin_version = "1.9.22"
}
[*] установить явные цели JVM в файлах Gradle: [/b]

Код: Выделить всё

android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
apiVersion = '1.9'
languageVersion = '1.9'
}
}
[*] принудительный специфический Androidx.work зависимости:

Код: Выделить всё

configurations.all {
resolutionStrategy {
force 'androidx.work:work-runtime:2.8.1'
force 'androidx.work:work-runtime-ktx:2.8.1'
force 'androidx.concurrent:concurrent-futures:1.1.0'
}
}
Пробое различные версии плагина Workmanager :
проверяется с версиями 0,5. 0, 0.5.1 и 0.5.2, но проблема сохраняется.
инициализация в main.dart < /code> < /h3>

Код: Выделить всё

void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Workmanager().initialize(
callbackDispatcher,
isInDebugMode: true,
);
// ... rest of initialization
}

@pragma('vm:entry-point')
void callbackDispatcher() async {
Workmanager().executeTask((task, inputData) async {
switch (task) {
case WidgetService.WIDGET_UPDATE_TASK:
print('Processing widget update task');
return true;
default:
return false;
}
});
}
Вопрос:
Как я могу решить эту проблему, сохраняя при этом функциональность WorkManager ? Обновления виджета имеют решающее значение для функциональности моего приложения на обеих платформах.
Любая помощь или предложения были бы очень оценены!>

Подробнее здесь: https://stackoverflow.com/questions/793 ... n-conflict
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»