android - 层保存标志无效 - Android 9 仅允许使用 ALL_SAVE_FLAGS

标签 android android-studio build.gradle android-9.0-pie

将我的 targetSdkVersion 更新到 28 时出现以下错误,该应用程序在以前的版本中运行良好,但特别是在 android 9 中给了我这个错误。我看过几个 github 链接,他们提到基本书目已更新到 6.0.8,我不明白。有人可以告诉我如何解决它。我附上了我在 Android Studio 控制台中遇到的错误。

java.lang.IllegalArgumentException: Invalid Layer Save Flag - only ALL_SAVE_FLAGS is allowed
        at android.graphics.Canvas.checkValidSaveFlags(Canvas.java:378)
        at android.graphics.Canvas.saveLayer(Canvas.java:455)
        at com.airbnb.lottie.model.layer.BaseLayer.draw(BaseLayer.java:222)
        at com.airbnb.lottie.model.layer.CompositionLayer.drawLayer(CompositionLayer.java:100)
        at com.airbnb.lottie.model.layer.BaseLayer.draw(BaseLayer.java:188)
        at com.airbnb.lottie.LottieDrawable.draw(LottieDrawable.java:300)
        at android.widget.ImageView.onDraw(ImageView.java:1360)
        at android.view.View.draw(View.java:20207)
        at android.view.View.buildDrawingCacheImpl(View.java:19478)
        at android.view.View.buildDrawingCache(View.java:19338)
        at android.view.View.draw(View.java:19927)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.draw(View.java:20210)
        at android.view.View.updateDisplayListIfDirty(View.java:19082)
        at android.view.View.draw(View.java:19935)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.support.constraint.ConstraintLayout.dispatchDraw(ConstraintLayout.java:2023)
        at android.view.View.draw(View.java:20210)
        at android.view.View.updateDisplayListIfDirty(View.java:19082)
        at android.view.View.draw(View.java:19935)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.updateDisplayListIfDirty(View.java:19073)
        at android.view.View.draw(View.java:19935)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.updateDisplayListIfDirty(View.java:19073)
        at android.view.View.draw(View.java:19935)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.updateDisplayListIfDirty(View.java:19073)
        at android.view.View.draw(View.java:19935)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.updateDisplayListIfDirty(View.java:19073)
        at android.view.View.draw(View.java:19935)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.draw(View.java:20210)
        at com.android.internal.policy.DecorView.draw(DecorView.java:780)
        at android.view.View.updateDisplayListIfDirty(View.java:19082)
        at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:686)
        at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:692)
        at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:801)
        at android.view.ViewRootImpl.draw(ViewRootImpl.java:3311)
        at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3115)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2484)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1460)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7183)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
        at android.view.Choreographer.doCallbacks(Choreographer.java:761)
        at android.view.Choreographer.doFrame(Choreographer.java:696)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6680)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

最佳答案

我遇到过同样的问题。这似乎是一个android 9的问题。通过使用解决它:

implementation 'com.airbnb.android:lottie:2.7.0'

我希望它有所帮助。

关于android - 层保存标志无效 - Android 9 仅允许使用 ALL_SAVE_FLAGS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57012544/

相关文章:

android - AlertDialog EditText 不显示软键盘

android - 虽然我正在使用 classname.this 仍然收到 "The constructor Intent(MySampleFragment, Class<Alert>) is undefined"错误

java - 分配新对象是否会自动销毁先前分配给同一数据成员的对象?

android - Gradle 同步中的 block 数据意外结束

java - 如何在 build.gradle 文件上实现 intelliJ 插件操作?

Android:如何在不保持宽高比的情况下缩放图像以填充 LinearLayout 的背景?

android - Git stash apply 在文件中留下额外的字符串

java - 在 null 上找不到值类型为 java.lang.String 的属性 'android:text' 的 getter

Android 依赖 'com.android.support:recyclerview-v7' 的编译(22.1.1)和运行时(27.1.0)类路径有不同的版本

android - 自动在 gradle 上添加模块依赖