Android覆盖安装后打开闪退

Android app 覆盖安装旧版本后打开闪退,报资源找不到,设置-应用-清理数据后再打开正常。求一个优雅的解决方式。

Log如下:
E AndroidRuntime: FATAL EXCEPTION: LogFileWriter
E AndroidRuntime: Process: com.demo.music, PID: 29166
E AndroidRuntime: android.content.res.Resources$NotFoundException: String resource ID #0x7f0e008a
E AndroidRuntime: at android.content.res.Resources.getText(Resources.java:410)
E AndroidRuntime: at android.content.res.HwResources.getText(HwResources.java:465)
E AndroidRuntime: at android.content.res.Resources.getString(Resources.java:504)
E AndroidRuntime: at android.content.res.Resources.getString(Resources.java:528)
E AndroidRuntime: at android.content.Context.getString(Context.java:576)
E AndroidRuntime: at com.demo.music.core.LogItem.getString(Unknown Source:37)
E AndroidRuntime: at com.demo.music.core.LogFileHandler.writeToExportLog(Unknown Source:7)
E AndroidRuntime: at com.demo.music.core.LogFileHandler.writeLogItemToDisk(Unknown Source:42)
E AndroidRuntime: at com.demo.music.core.LogFileHandler.handleMessage(Unknown Source:87)
E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:108)
E AndroidRuntime: at android.os.Looper.loop(Looper.java:166)
E AndroidRuntime: at android.os.HandlerThread.run(HandlerThread.java:65)

资源ID没找到,一般是资源文件出问题。看你的异常应该是app读写文件时出问题了

然后除了资源问题,还有越界:
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.indexOf(int)' on a null object reference
at com.demo.music.MainActivity$2.run(Unknown Source:51)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:101)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7406)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:926)

String resource ID #0x7f0e008a 去代码中把在这个干掉