我看到来自野外的一些设备的间歇性崩溃,其中Android报告FileNotFoundException膨胀资源文件。最初,它只是Android SDK提供的资源:
res/interpolator/linear_out_slow_in.xml
res/color/highlighted_text_material.xml
但我现在只用我们自己的文件崩溃了一次:
res/layout/listitem_spinner_text.xml
我发现有些other posts提到 minifyEnabled 和 shrinkResources ,但我的应用没有启用。 (具体来说,minifyEnabled设置为false,而shrinkResources不在gradle文件中)
突出的一点是我只看到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)
更新:由于我无法轻松访问Pixel或Android 7设备,因此我花时间使用7.1.1自定义ROM升级Nexus 5。该应用程序在此设备上运行正常,即使在分屏模式下也是如此,因此我仍然对某些设备报告此错误的原因感到茫然。