美文网首页
踩过听云SDK与AS的坑 Java.lang.NoClassDe

踩过听云SDK与AS的坑 Java.lang.NoClassDe

作者: 晨起清风 | 来源:发表于2017-06-07 21:31 被阅读280次
听云SDK

听云的人呢来我们公司来了好多次了,想让我们接入。
我们就接入了试试。这个sdk是通过java探针实现,具体还没太了解,后面再研究

  • 探针(占位)

  • 缺点
    导致了as编译速度的降低,我们的app编译时的一大半时间都被听云给消耗了。

使用听云踩的坑
  • 影响新开发的app debug运行
    我们项目在用了听云之后,后来,我又新开发了一个项目,项目里面使用了okhttp进行网络请求,在模拟器和真机上debug运行,出现了如下的崩溃:
Java.lang.NoClassDefFoundError: com.networkbench.agent.impl.instrumentation

后来由于进度紧急原因,不得已在这个项目里也添加了听云的依赖。顿时感觉听云好流氓,真恶心。
后来在网上也看到一篇关于我这遇到的这种情况的文章,应该是个解决方案。

http://blog.csdn.net/google_acmer/article/details/54913565
原因:因为Android Studio为了提高编译的速度,加入了 daemon的缓存机制,这个缓存导致调用听云的SDK,产生一些莫名其妙的Bug,因此解决问题的方法就是手动去清理一下缓存。
解决方案:
1、Mac环境的缓存路径是:
/Users/用户名/,gradle/daemon/3_3【版本号】
进去删除registry_bin和registry_bin.lock两个文件即可。
2、Windows下面相比较为简单。
例如:C:\Users\用户名.gradle\daemon\3_3【版本号】下面的,同样也删除以上两个文件即可。

卸载听云踩的坑

现在我们的项目不在使用听云了,感觉还是很开心的。终于不要再使用这玩意了。
直接把听云相关的配置都去掉了,包括听云的classpath和dependencies
我们几个同事本以为去掉了就完事了,然后运行程序,这时候又出现崩溃了,还是和上面的崩溃一样

Java.lang.NoClassDefFoundError: com.networkbench.agent.impl.instrumentation
解决办法

同事分别用了以下几个办法好了

  • 把as工程clean以下,然后rebuild一下就ok了
  • 如果上面方法不行,就重启计算机,再重新执行上面步骤

我比较倒霉啊,上面两种办法都不行,后来甚至是重启电脑,重新拉取代码,把代码换个目录。后来还是不行。没办法了重新安装android studio!!

注意点:卸载android studio一定要把Android User Settings打钩了。不然,卸载了再安装还是不行滴
QQ截图20170607212709.png

卸载android studio之后,再重新安装就可以正常使用了。。好吧o(╯□╰)o

参考

http://blog.csdn.net/u012832871/article/details/70842928
http://blog.csdn.net/google_acmer/article/details/54913565

相关文章

网友评论

      本文标题:踩过听云SDK与AS的坑 Java.lang.NoClassDe

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