原因:尝试播放抽奖动画时

时间:2020-06-18 15:47:21

标签: android

我遇到错误,原因是:尝试播放抽奖动画时出现java.io.FileNotFoundException:asset / loader.json。

正如您在我的布局xml中看到的那样,我将auto play设置为true,因此动画应在应用程序上播放。

但是我因上述错误而崩溃。

您可以在xml下面找到完整的日志。 如何解决?

顺便说一句,彩票的完整路径是:D:\ Project files \ MovieApp \ app \ src \ main \ assets \ loader.json。 在fileName属性中,我尝试设置不同的路径,但是对我来说没有任何作用。

这是我的splash_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".view.activities.SplashActivity">

    <com.airbnb.lottie.LottieAnimationView
        android:layout_width="wrap_content"
        android:id="@+id/lavLoader"
        app:lottie_autoPlay="true"
        app:lottie_loop="true"
        app:lottie_fileName="assets/loader.json"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

日志

2020-06-18 18:36:12.618 1436-1436/com.msapps.movieapp E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.msapps.movieapp, PID: 1436
    java.lang.IllegalStateException: Unable to parse composition
        at com.airbnb.lottie.LottieAnimationView$1.onResult(LottieAnimationView.java:74)
        at com.airbnb.lottie.LottieAnimationView$1.onResult(LottieAnimationView.java:67)
        at com.airbnb.lottie.LottieAnimationView$3.onResult(LottieAnimationView.java:91)
        at com.airbnb.lottie.LottieAnimationView$3.onResult(LottieAnimationView.java:84)
        at com.airbnb.lottie.LottieTask.notifyFailureListeners(LottieTask.java:158)
        at com.airbnb.lottie.LottieTask.access$200(LottieTask.java:27)
        at com.airbnb.lottie.LottieTask$1.run(LottieTask.java:133)
        at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:7000)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
     Caused by: java.io.FileNotFoundException: assets/loader.json
        at android.content.res.AssetManager.openAsset(Native Method)
        at android.content.res.AssetManager.open(AssetManager.java:388)
        at android.content.res.AssetManager.open(AssetManager.java:362)
        at com.airbnb.lottie.LottieCompositionFactory.fromAssetSync(LottieCompositionFactory.java:163)
        at com.airbnb.lottie.LottieCompositionFactory$2.call(LottieCompositionFactory.java:128)
        at com.airbnb.lottie.LottieCompositionFactory$2.call(LottieCompositionFactory.java:125)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)

2 个答案:

答案 0 :(得分:2)

app:lottie_fileName="assets/loader.json"替换为app:lottie_fileName="loader.json"。默认情况下,Lottie在src/main/assets文件夹中查找。

答案 1 :(得分:0)

尝试将文件放入:Executing tasks: [:app:assembleDebug] in project E:\a-projects\android customer\goodlands android\vendor > Configure project :app WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'. It will be removed soon. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection) registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection) > Task :app:preBuild UP-TO-DATE > Task :app:preDebugBuild UP-TO-DATE > Task :customer:preBuild UP-TO-DATE > Task :customer:preDebugBuild UP-TO-DATE > Task :customer:compileDebugAidl NO-SOURCE > Task :app:compileDebugAidl NO-SOURCE > Task :customer:packageDebugRenderscript NO-SOURCE > Task :app:compileDebugRenderscript NO-SOURCE > Task :app:checkDebugManifest > Task :app:generateDebugBuildConfig > Task :customer:compileDebugRenderscript NO-SOURCE > Task :customer:checkDebugManifest > Task :customer:generateDebugBuildConfig > Task :customer:generateDebugResValues > Task :customer:generateDebugResources > Task :customer:packageDebugResources > Task :app:mainApkListPersistenceDebug > Task :app:generateDebugResValues > Task :app:generateDebugResources > Task :app:processDebugGoogleServices Parsing json file: E:\a-projects\android customer\goodlands android\vendor\app\google-services.json > Task :customer:processDebugManifest > Task :customer:parseDebugLibraryResources > Task :customer:javaPreCompileDebug > Task :app:mergeDebugResources > Task :app:createDebugCompatibleScreenManifests > Task :app:processDebugManifest > Task :customer:generateDebugRFile > Task :app:processDebugResources AGPBI: {"kind":"error","text":"Android resource linking failed","sources":[{"file":"C:\\Users\\KRISHNATOP\\.gradle\\caches\\transforms-2\\files-2.1\\b3a15e68a372da2cb15f97b07c765dec\\appcompat-v7-28.0.0\\res\\values-v28\\values-v28.xml","position":{"startLine":4,"startColumn":4,"startOffset":217,"endLine":7,"endColumn":12,"endOffset":442}}],"original":"C:\\Users\\KRISHNATOP\\.gradle\\caches\\transforms-2\\files-2.1\\b3a15e68a372da2cb15f97b07c765dec\\appcompat-v7-28.0.0\\res\\values-v28\\values-v28.xml:5:5-8:13: AAPT: error: resource android:attr/dialogCornerRadius not found.\n ","tool":"AAPT"} AGPBI: {"kind":"error","text":"Android resource linking failed","sources":[{"file":"C:\\Users\\KRISHNATOP\\.gradle\\caches\\transforms-2\\files-2.1\\b3a15e68a372da2cb15f97b07c765dec\\appcompat-v7-28.0.0\\res\\values-v28\\values-v28.xml","position":{"startLine":8,"startColumn":4,"startOffset":447,"endLine":11,"endColumn":12,"endOffset":684}}],"original":"C:\\Users\\KRISHNATOP\\.gradle\\caches\\transforms-2\\files-2.1\\b3a15e68a372da2cb15f97b07c765dec\\appcompat-v7-28.0.0\\res\\values-v28\\values-v28.xml:9:5-12:13: AAPT: error: resource android:attr/dialogCornerRadius not found.\n ","tool":"AAPT"} AGPBI: {"kind":"error","text":"Android resource linking failed","sources":[{"file":"C:\\Users\\KRISHNATOP\\.gradle\\caches\\transforms-2\\files-2.1\\d0b715af577a08b2dafe60cd9b4bd4a4\\support-compat-28.0.0\\res\\values\\values.xml","position":{"startLine":56,"startColumn":4,"startOffset":3523,"endLine":87,"endColumn":24,"endOffset":5583}}],"original":"C:\\Users\\KRISHNATOP\\.gradle\\caches\\transforms-2\\files-2.1\\d0b715af577a08b2dafe60cd9b4bd4a4\\support-compat-28.0.0\\res\\values\\values.xml:57:5-88:25: AAPT: error: resource android:attr/fontVariationSettings not found.\n ","tool":"AAPT"} AGPBI: {"kind":"error","text":"Android resource linking failed","sources":[{"file":"C:\\Users\\KRISHNATOP\\.gradle\\caches\\transforms-2\\files-2.1\\d0b715af577a08b2dafe60cd9b4bd4a4\\support-compat-28.0.0\\res\\values\\values.xml","position":{"startLine":56,"startColumn":4,"startOffset":3523,"endLine":87,"endColumn":24,"endOffset":5583}}],"original":"C:\\Users\\KRISHNATOP\\.gradle\\caches\\transforms-2\\files-2.1\\d0b715af577a08b2dafe60cd9b4bd4a4\\support-compat-28.0.0\\res\\values\\values.xml:57:5-88:25: AAPT: error: resource android:attr/ttcIndex not found.\n ","tool":"AAPT"} > Task :app:processDebugResources FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:processDebugResources'. > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade > Android resource linking failed C:\Users\KRISHNATOP\.gradle\caches\transforms-2\files-2.1\b3a15e68a372da2cb15f97b07c765dec\appcompat-v7-28.0.0\res\values-v28\values-v28.xml:5:5-8:13: AAPT: error: resource android:attr/dialogCornerRadius not found. C:\Users\KRISHNATOP\.gradle\caches\transforms-2\files-2.1\b3a15e68a372da2cb15f97b07c765dec\appcompat-v7-28.0.0\res\values-v28\values-v28.xml:9:5-12:13: AAPT: error: resource android:attr/dialogCornerRadius not found. C:\Users\KRISHNATOP\.gradle\caches\transforms-2\files-2.1\d0b715af577a08b2dafe60cd9b4bd4a4\support-compat-28.0.0\res\values\values.xml:57:5-88:25: AAPT: error: resource android:attr/fontVariationSettings not found. C:\Users\KRISHNATOP\.gradle\caches\transforms-2\files-2.1\d0b715af577a08b2dafe60cd9b4bd4a4\support-compat-28.0.0\res\values\values.xml:57:5-88:25: AAPT: error: resource android:attr/ttcIndex not found. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/5.4.1/userguide/command_line_interface.html#sec:command_line_warnings BUILD FAILED in 1m 45s 17 actionable tasks: 17 executed

并按如下所示在您的xml中指定它:src/main/res/raw

对我有用