Flare-flutter: Le type d'argument 'Int32List' ne peut pas être affecté au type de paramètre 'Uint16List'

Créé le 24 avr. 2019  ·  8Commentaires  ·  Source: 2d-inc/Flare-Flutter

Soudain, le compilateur a commencé à me montrer cette erreur :

Compiler message:

file:///Users/vanelizarov/flutter/.pub-cache/hosted/pub.dartlang.org/flare_flutter-1.4.0/lib/flare.dart:1028:18: Error: The argument type 'Int32List' can't be assigned to the parameter type 'Uint16List'.
 - 'Int32List' is from 'dart:typed_data'.
 - 'Uint16List' is from 'dart:typed_data'.
Try changing the type of the parameter, or casting the argument to 'Uint16List'.
        indices: _indices, textureCoordinates: _uvBuffer);
                 ^

J'utilise uniquement la classe FlareActor et je le fais comme suit :

FlareActor(
  'assets/flare/notifications.flr',
  alignment: Alignment.center,
  animation: count > 0 ? 'pendulum' : null,
  color: Colors.primary,
)

flutter doctor :

[✓] Flutter (Channel dev, v1.5.5, on Mac OS X 10.14.5 18F118d, locale en-RU)
    • Flutter version 1.5.5 at /Users/vanelizarov/flutter
    • Framework revision 5c5ddd1fc2 (19 hours ago), 2019-04-23 10:41:19 -0700
    • Engine revision e27c867c30
    • Dart version 2.3.0 (build 2.3.0-dev.0.1 1f1592edce)


[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/vanelizarov/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.2.1, Build version 10E1001
    • ios-deploy 1.9.4
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 33.4.1
    • Dart plugin version 182.5215
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[✓] VS Code (version 1.33.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.25.1

[✓] Connected device (1 available)
    • iPhone Xʀ • D71EC0B3-B4A2-41DB-9C0C-878DCDD474E3 • ios • com.apple.CoreSimulator.SimRuntime.iOS-12-2 (simulator)

• No issues found!

Commentaire le plus utile

Changer localement la ligne 875 en Uint16List _indices ; et ligne 936 à Uint16List.fromList(triangles); résout temporairement le problème et vous permet d'exécuter l'application, même si ce n'est peut-être pas la meilleure solution (pas familier avec les données Flare).

Tous les 8 commentaires

Cela est dû à des changements de rupture sur la branche principale de Flutter. Nous avons dû changer le type de la liste en conséquence.
Vous utilisez le canal de développement de Flutter, vous pouvez donc soit utiliser Flutter master (depuis la ligne de commande : flutter channel master ), soit vous pouvez modifier vous-même le type de la liste sur cette ligne , et cette affectation avec Uint16.fromList(triangles) pendant que nous trouvons une meilleure solution pour cela.

@umberto-sonnino cool ! Est-ce que ce serait bien si je soumettais ensuite PR ?

Hey @vanelizarov , merci pour votre contribution, mais malheureusement, il existe des différences entre les différentes versions de Flutter, selon le canal que vous utilisez : cela signifie que le simple fait de changer ces types ne résoudra pas le problème, car il se cassera pour quelqu'un d'autre utilisant un canal différent.

@luigi-rosso a créé des branches ad hoc qui prennent en charge le canal Flutter correspondant.

Vous pouvez consulter le README mis à jour pour voir comment tout cela fonctionne !

Cela est dû à des changements de rupture sur la branche principale de Flutter. Nous avons dû changer le type de la liste en conséquence.
Vous utilisez le canal de développement de Flutter, vous pouvez donc soit utiliser Flutter master (depuis la ligne de commande : flutter channel master ), soit vous pouvez modifier vous-même le type de la liste sur cette ligne , et cette affectation avec Uint16.fromList(triangles) pendant que nous trouvons une meilleure solution pour cela.

Cela est dû à des changements de rupture sur la branche principale de Flutter. Nous avons dû changer le type de la liste en conséquence.
Vous utilisez le canal de développement de Flutter, vous pouvez donc soit utiliser le maître Flutter (depuis la ligne de commande : flutter channel master ), soit vous pouvez modifier vous-même le type de la liste sur cette ligne , et cette affectation avec Uint16.fromList(triangles) pendant que nous trouvons une meilleure solution pour cela.

Salut! J'ai changé le canal flottant en maître, mais j'ai toujours le même problème. http://priscree.ru/img/99a80c98010a28.png

@prudnikoff , vous pouvez consulter le README pour savoir comment tout configurer en fonction du canal Flutter que vous souhaitez utiliser !
Dans tous les cas, Flutter stable fonctionne avec la branche stable de ce référentiel

Changer localement la ligne 875 en Uint16List _indices ; et ligne 936 à Uint16List.fromList(triangles); résout temporairement le problème et vous permet d'exécuter l'application, même si ce n'est peut-être pas la meilleure solution (pas familier avec les données Flare).

Certes, je voulais faire ce PR, mais déjà fait.

la version bêta récente de flutter (1.19.0-4.2.pre) ne donne pas cette erreur.

Cette page vous a été utile?
0 / 5 - 0 notes