diff --git a/packages/core/lib/generators/integrations/lottie_integration.dart b/packages/core/lib/generators/integrations/lottie_integration.dart index cb8ab27b3..190d62e4b 100644 --- a/packages/core/lib/generators/integrations/lottie_integration.dart +++ b/packages/core/lib/generators/integrations/lottie_integration.dart @@ -124,7 +124,14 @@ ${isPackage ? "\n static const String package = '$packageName';" : ''} } if (asset.mime == 'application/zip') { final inputStream = InputFileStream(asset.fullPath); - final archive = ZipDecoder().decodeBuffer(inputStream); + final decoder = ZipDecoder(); + Archive archive; + try { + // Compatible with archive v4. + archive = (decoder as dynamic).decodeStream(inputStream); + } on NoSuchMethodError { + archive = (decoder as dynamic).decodeBuffer(inputStream); + } final jsonFile = archive.files.firstWhereOrNull( (e) => e.name.endsWith('.json'), ); diff --git a/packages/core/pubspec.yaml b/packages/core/pubspec.yaml index b68708cea..5164cf7f3 100644 --- a/packages/core/pubspec.yaml +++ b/packages/core/pubspec.yaml @@ -25,7 +25,7 @@ dependencies: glob: ^2.0.0 dart_style: '>=2.2.4 <4.0.0' - archive: ^3.4.0 + archive: '>=3.4.0 <5.0.0' args: ^2.0.0 pub_semver: ^2.0.0 vector_graphics_compiler: ^1.1.9