小编Mik*_*ola的帖子

某些设备上缺少Android XML资源

我看到一些设备在野外间歇性崩溃,其中Android报告FileNotFoundException夸大了资源文件。最初,这只是Android SDK提供的资源:

    res/interpolator/linear_out_slow_in.xml
    res/color/highlighted_text_material.xml
Run Code Online (Sandbox Code Playgroud)

但是现在我的文件崩溃了:

    res/layout/listitem_spinner_text.xml
Run Code Online (Sandbox Code Playgroud)

我发现其他一些文章提到了minifyEnabledrinkleResources,但是我的应用程序未启用这些功能。(特别是,minifyEnabled设置为false,而gradle文件中未包含rinkleResources。)突出的一件事是,我仅在Pixel Devices上看到了崩溃,我相信它都是OS 7+版本。
我怀疑是否会排除xml文件,因为我无法在模拟器上的任何设备或Pixel上重现崩溃。

是什么原因导致此崩溃?

我的应用程序当前使用buildToolsVersion 25.0.2和gradle 2.2.3构建,我想我的下一步可能是尝试在一个云场中的真实设备上重现吗?

这是崩溃之一:

    java.io.FileNotFoundException: res/interpolator/linear_out_slow_in.xml
at android.content.res.AssetManager.openXmlAssetNative()(AssetManager.java:-2)
at android.content.res.AssetManager.openXmlBlockAsset()(AssetManager.java:519)
at android.content.res.ResourcesImpl.loadXmlResourceParser()(ResourcesImpl.java:975)
at android.content.res.Resources.loadXmlResourceParser()(Resources.java:2103)
at android.content.res.Resources.getAnimation()(Resources.java:1139)
at android.view.animation.AnimationUtils.loadInterpolator()(AnimationUtils.java:307)
at com.android.internal.policy.DecorView.<init>()(DecorView.java:237)
at com.android.internal.policy.PhoneWindow.generateDecor()(PhoneWindow.java:2281)
at com.android.internal.policy.PhoneWindow.installDecor()(PhoneWindow.java:2617)
at com.android.internal.policy.PhoneWindow.getDecorView()(PhoneWindow.java:2047)
at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor()(AppCompatDelegateImplV9.java:367)
at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor()(AppCompatDelegateImplV9.java:316)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView()(AppCompatDelegateImplV9.java:281)
at android.support.v7.app.AppCompatDialog.setContentView()(AppCompatDialog.java:80)
at android.support.v7.app.AlertController.installContent()(AlertController.java:214)
at android.support.v7.app.AlertDialog.onCreate()(AlertDialog.java:257)
at android.app.Dialog.dispatchOnCreate()(Dialog.java:389)
at android.app.Dialog.show()(Dialog.java:293)
at com.medbridgeed.core.etc.ErrorDialog$1.run()(ErrorDialog.java:64)
at android.os.Handler.handleCallback()(Handler.java:751)
at android.os.Handler.dispatchMessage()(Handler.java:95)
at android.os.Looper.loop()(Looper.java:154)
at android.app.ActivityThread.main()(ActivityThread.java:6088)
at java.lang.reflect.Method.invoke()(Method.java:-2)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run()(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main()(ZygoteInit.java:776)
Run Code Online (Sandbox Code Playgroud)

更新:由于无法轻松访问Pixel或Android 7设备,因此我花了一些时间使用带有7.1.1的自定义ROM升级Nexus 5。该应用程序即使在分屏模式下也可以在此设备上正常运行,因此我仍然不知道为什么某些设备报告此错误。

android filenotfoundexception android-resources

5
推荐指数
0
解决办法
593
查看次数