SO用户,请完整阅读然后决定标记Duplicate for NullPointer异常。
在app启动时,从ApplicationExt(扩展Application),我们初始化从Resource bundle(RawSource)加载CSV文件的线程。它总是适用于许多设备。但是第一次在下面的设备上崩溃了。第二次,它从包中加载。
操作系统版本:Lollipop(5.1.1) 设备:OnePlus A0001
崩溃日志:
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.CharSequence android.content.res.StringBlock.get(int)' on a null object reference
at android.content.res.AssetManager.getResourceValue(AssetManager.java:213)
at android.content.res.Resources.getValue(Resources.java:1334)
at android.content.res.Resources.getValue(Resources.java:1323)
at android.content.res.Resources.openRawResource(Resources.java:1242)
at android.content.res.Resources.openRawResource(Resources.java:1219)
at com.xxxx.yyyy.network.NetworkManager.getBrandCodesFromCsvFile(NetworkManager.java:2961)
at com.xxxx.yyyy.network.NetworkManager.getBrandCodes(NetworkManager.java:3221)
at com.xxxx.yyyy.network.NetworkManager.checkAndUpdateMobileCodeFromBundle(NetworkManager.java:3110)
at com.xxxx.yyyy.OurApplication$1.run(OurApplication.java:132)
at java.lang.Thread.run(Thread.java:818)
代码段:
在应用程序中,onCreate(...),
此行确切崩溃:
InputStream bundleStream = OurApplicationClass.getContext().getResources().openRawResource(sourceId);
注意:
我在Github上发现了相关问题。 https://github.com/osmandapp/Osmand/issues/2575。但无法确认它是否适合我的情况。