美文网首页
记一次坑爹的运行时崩溃

记一次坑爹的运行时崩溃

作者: 清风流苏 | 来源:发表于2019-06-12 14:23 被阅读0次

要打包给测试,切换分支,然后打release包,成功,然后运行,崩溃。在Bugly上看到崩溃的Log如下:

1 java.lang.ExceptionInInitializerError:
2 org.eclipse.paho.android.service.d.b(Unknown Source:358)
3 ......
4 Caused by:
5 java.util.MissingResourceException:Can't find bundle for base name org.eclipse.paho.client.mqttv3.internal.nls.logcat, locale zh_CN
6 java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1558)
7 java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1381)
8 java.util.ResourceBundle.getBundle(ResourceBundle.java:771)
9 org.eclipse.paho.a.a.b.c.a(Unknown Source:6)
10 org.eclipse.paho.a.a.g.<clinit>(Unknown Source:4)
11 org.eclipse.paho.android.service.d.b(Unknown Source:358)
12 org.eclipse.paho.android.service.d$b.onServiceConnected(Unknown Source:16)
13 android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1681)
14 android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1710)
15 android.os.Handler.handleCallback(Handler.java:790)
16 android.os.Handler.dispatchMessage(Handler.java:99)
17 android.os.Looper.loop(Looper.java:192)
18 android.app.ActivityThread.main(ActivityThread.java:6949)
19 java.lang.reflect.Method.invoke(Native Method)
20 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
21 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:817)

奇怪,MQTT很早就加进去了,之前也发布过release包没有问题的。
猜想是什么时候改了gradle或者混淆规则导致的,看log从上个OK的realse版本到现在为止,确实更改过build.gradle,可能是这个引起的?
后续做了如下事情:

  • 在最新分支打debug包(关闭混淆),运行OK
  • 多种方式尝试关闭MQTT的混淆(设置MQTT所在module minifyEnabled为false,添加不混淆MQTT相关类,在外部应用module添加不混淆MQTT类),打realse包,运行异常!!
  • 反编译第一个OK的版本和最新打出来的异常版本对比,异常版本缺少相关的properties文件。证明混淆规则中只能保证相关的MQTTJava类不会被混淆,但是打包的时候不能保证保留相应的properties文件。
  • 回退到第一次发布的版本,打realse包,运行OK
  • 回退到修改gradle的版本,打release包,运行异常
  • 回退到修改gradle的前一个版本,打realse包,运行异常!!(理论上,应该这里是OK的)
  • 后续二分法尝试了回退版本,并重新打包验证,怎么好像又可以运行了?有点凌乱!

最后,checkout到最新版本,clean工程,重新打realse包,运行OK!!!

结论:以后发布版本之前,请先Clean!!

相关文章

  • 记一次坑爹的运行时崩溃

    要打包给测试,切换分支,然后打release包,成功,然后运行,崩溃。在Bugly上看到崩溃的Log如下: 奇怪,...

  • 关于app上架所遇到的一些问题汇总(持续更新中...)

    iOS app上架是很坑爹的,在第一次上架过程中,博主一下遇到了N多的报错,当时博主心里是崩溃的。在崩溃过后,博...

  • 坑爹

    坑爹…豆瓣就是个坑爹货

  • 坑爹的爹坑

    01 村里的奇葩事,真事!就是奇葩的让人咂舌。张明白有一个‘奇葩’的爹,人称张算计。 清明节,村里的张算计死了。人...

  • 190224 宁波行

    记一次崩溃

  • iOS记一次坑爹的报错

    今天pod install 了一个第三方库,然后command+B就出现了下面的报错信息,莫名其妙,之前真机运行一...

  • iOS记一次坑爹的报错

    报错信息:xxxxxxx, missing required architecture x86_64 in fil...

  • 记一次坑爹的“志愿服务”

    上周d建的微信公众号发信息说提倡dy留深过年并且至少要在所在社区参加一次志愿活动。 我打开 “战疫先锋”小程序,大...

  • 坑爹?爹挖的坑

    坑爹的儿子都是被爹坑的 白米先生 字数 474 · 阅读 1 2020-06-13 09:35 说起来像绕口令。 ...

  • 坑爹的爹

    2023年1月31日 星期三 下午4:44 昨晚上娃爹又一晚上没回来了! 第一次一晚上跟他正面对决!从来没有这么直...

网友评论

      本文标题:记一次坑爹的运行时崩溃

      本文链接:https://www.haomeiwen.com/subject/sfqlfctx.html