CameronStuartSmith / flutter_lottie

Use lottie in flutter for both iOS and Android
Apache License 2.0
158 stars 75 forks source link

java.lang.IllegalStateException: Missing values for keyframe. on Android #18

Closed kaina404 closed 4 years ago

kaina404 commented 4 years ago

@override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      child: Center(
        child: SizedBox(
          width: 500,
          height: 300,
          child: LottieView.fromFile(
              autoPlay: true,
              onViewCreated: onViewCreated,
              filePath: "asset/animal/ani_hi.json"),
        ),
      ),
    );
  }
java.lang.IllegalStateException: Missing values for keyframe.
E/AndroidRuntime(10726):    at com.airbnb.lottie.animation.keyframe.ScaleKeyframeAnimation.getValue(ScaleKeyframeAnimation.java:16)
E/AndroidRuntime(10726):    at com.airbnb.lottie.animation.keyframe.ScaleKeyframeAnimation.getValue(ScaleKeyframeAnimation.java:9)
E/AndroidRuntime(10726):    at com.airbnb.lottie.animation.keyframe.BaseKeyframeAnimation.getValue(BaseKeyframeAnimation.java:125)
E/AndroidRuntime(10726):    at com.airbnb.lottie.animation.keyframe.TransformKeyframeAnimation.getMatrix(TransformKeyframeAnimation.java:118)
E/AndroidRuntime(10726):    at com.airbnb.lottie.model.layer.BaseLayer.draw(BaseLayer.java:199)
E/AndroidRuntime(10726):    at com.airbnb.lottie.model.layer.CompositionLayer.drawLayer(CompositionLayer.java:100)
E/AndroidRuntime(10726):    at com.airbnb.lottie.model.layer.BaseLayer.draw(BaseLayer.java:201)
E/AndroidRuntime(10726):    at com.airbnb.lottie.LottieDrawable.draw(LottieDrawable.java:319)
E/AndroidRuntime(10726):    at android.widget.ImageView.onDraw(ImageView.java:1360)
E/AndroidRuntime(10726):    at android.view.View.draw(View.java:21860)
E/AndroidRuntime(10726):    at android.view.View.buildDrawingCacheImpl(View.java:21129)
E/AndroidRuntime(10726):    at android.view.View.buildDrawingCache(View.java:20989)
E/AndroidRuntime(10726):    at android.view.View.draw(View.java:21578)
E/AndroidRuntime(10726):    at android.view.ViewGroup.drawChild(ViewGroup.java:4551)
E/AndroidRuntime(10726):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4326)
E/AndroidRuntime(10726):    at android.view.View.updateDisplayListIfDirty(View.java:20719)
E/AndroidRuntime(10726):    at android.view.View.draw(View.java:21586)
E/AndroidRuntime(10726):    at android.view.ViewGroup.drawChild(ViewGroup.java:4551)
E/AndroidRuntime(10726):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4326)
E/AndroidRuntime(10726):    at android.view.View.updateDisplayListIfDirty(View.java:20719)
E/AndroidRuntime(10726):    at android.view.View.draw(View.java:21586)
E/AndroidRuntime(10726):    at android.view.ViewGroup.drawChild(ViewGroup.java:4551)
E/AndroidRuntime(10726):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4326)
E/AndroidRuntime(10726):    at android.view.View.updateDisplayListIfDirty(View.java:20719)
E/AndroidRuntime(10726):    at android.view.View.draw(View.java:21586)
E/AndroidRuntime(10726):    at android.view.ViewGroup.drawChild(ViewGroup.java:4551)
E/AndroidRuntime(10726):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4326)
E/AndroidRuntime(10726):    at android.view.View.updateDisplayListIfDirty(View.java:20719)
E/AndroidRuntime(10726):    at android.view.View.draw(View.java:21586)
E/AndroidRuntime(10726):    at android.view.ViewGroup.drawChild(ViewGroup.java:4551)
E/AndroidRuntime(10726):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4326)
E/AndroidRuntime(10726):    at android.view.View.draw(View.java:21863)
E/AndroidRuntime(10726):    at com.android.internal.policy.DecorView.draw(DecorView.java:1083)
E/AndroidRuntime(10726):    at android.view.View.updateDisplayListIfDirty(View.java:20733)
E/AndroidRuntime(10726):    at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:725)
E/AndroidRuntime(10726):    at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:731)
E/AndroidRuntime(10726):    at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:840)
E/AndroidRuntime(10726):    at android.view.ViewRootImpl.draw(ViewRootImpl.java:3932)
E/AndroidRuntime(10726):    at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3706)
E/AndroidRuntime(10726):    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3014)
E/AndroidRuntime(10726):    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1873)
E/AndroidRuntime(10726):    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8478)
E/AndroidRuntime(10726):    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
E/AndroidRuntime(10726):    at android.view.Choreographer.doCallbacks(Choreographer.java:761)
E/AndroidRuntime(10726):    at android.view.Choreographer.doFrame(Choreographer.java:696)
E/AndroidRuntime(10726):    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
E/AndroidRuntime(10726):    at android.os.Handler.handleCallback(Handler.java:873)
E/AndroidRuntime(10726):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(10726):    at android.os.Looper.loop(Looper.java:214)
E/AndroidRuntime(10726):    at android.app.ActivityThread.main(ActivityThread.java:6990)
E/AndroidRuntime(10726):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(10726):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/AndroidRuntime(10726):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)
I/Process (10726): Sending signal. PID: 10726 SIG: 9
Samsung Note 9 / Android 9.
gradle.properties:
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
anoopeashok commented 4 years ago

Any solutions

kaina404 commented 4 years ago

Use AndroidX

fajarpnugroho commented 4 years ago

or request to export lottie file using old format.

https://github.com/airbnb/lottie-android/issues/1177