Android studio升级安装3.0之后遇到的java.lang.ClassNotFoundException: Didn't find class on path: DexPathList

首先介绍一下BUG情景,因为是刚刚接触android studio,所以刚开始用的时候还只是基于android studio 1.4进行开发。最近公司要求使用高级的IDE版本以及Gradle,从未接触过studio升级的我,开始了挖坑的旅途。

首先肯定是升级Android studio到3.0,直接从IDE升级,然后你懂的...不是无法更新就是下载很慢很慢~于是果断换了国内的镜像网站下载。

这里给大家一个网址进行参考下载:http://www.android-studio.org/

接下来就是gradle的升级了,studio在这一点上做的还是可以的,一进入软件,就会在右下角提示需要 update gradle 到3.0版本(忘记截图了),点击确认静等studio下载就好了。然后就是Android sdk manager升级android build tools了: File==>Setting==>System Settings==>android sdk ==>这时的界面右边可以看到你当前的sdk各种工具的版本号了。(studio1.4在这个界面的底部是有一个 “launch *** Android SDK manager ”,大致的意思是启动SDK自带的下载界面,但在studio3.0的界面是没有的。估计是google想将这一功能整合到studio中吧。 )

你可以在android sdk中看到各种工具的状态,SDK Platforms 中可以下载你想要的Android API版本:


SDK tools 可以下载你需要的开发工具,右下角的选框可以查看详细的版本信息。一般如果有需要更新的版本,Status会有update的提示。


第三个标签页 SDK update sites,这个大致说的是SDK的更新地址,应该默认就好了,没有设置过。

转载请加上原文地址:http://blog.csdn.net/qq_33745652/article/details/78456085

当IDE以及SDK都已经更新好后,接下来就是很正常的测试程序是否可以正常运行了,程序run起来,部署到测试机。异常出现了:程序启动,然后崩溃~!!!

异常信息: java.lang.ClassNotFoundException: Didn't find class "*****" on path: DexPathList[[zip file "/data/app/******.apk"],

1.尝试mark程序,一切正常,重新部署到测试机,异常还在。

  2.clean ==> rebuild ,异常继续。

3.尝试取消外部libaray的引用,然后重新部署,异常继续...

4.检查module的build.gradle文件,然后发现 问题所在了... 

// dex突破65535的限制
    multiDexEnabled true

注销上述代码后,程序可正常部署到测试机并运行,确定问题所在。

原来是我之前留下的坑,因为这份工作第一次接触android stuido,build.gradle文件里的设置都不知道是用来干什么的,只是从网上照搬下来的设置。

我在bulid.gradle中设置 multiDexEnabled true,并没有在程序相应的地方设置对应的设置内容。

可以给大家提供一篇博客,大家有空也可以去看下stuido关于Dex的设置:

http://blog.csdn.net/wangbaochu/article/details/46536635



以上只是我的个人因为之前留下的坑,造成的这种奇奇怪怪的BUG;因为这个问题,我也看了网上不少的解决方案,

这里也贴出来方便大家解决自己的问题:

http://blog.csdn.net/lovexieyuan520/article/details/9032797/

(这其中有些是Eclipse的解决方案,可以参考部分。)

https://stackoverflow.com/questions/22399572/

java-lang-classnotfoundexception-didnt-find-class-on-path-dexpathlist

(英文网站,看不懂可以下一个有道翻译一下,基本就懂了。)


(上面是基于程序部署到测试机的设置,也可以尝试一下。重点是加粗字体部分。)



PS:补充一下在升级好stuido3.0后遇到的一些问题:

1.Error:All flavors must now belong to a named flavor dimension.

解决方案:http://blog.csdn.net/syif88/article/details/75009663

2.Annotation processors must be explicitly declared now.

解决方案:http://blog.csdn.net/keep_holding_on/article/details/76188657

3.No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Invers

解决方案:http://blog.csdn.net/u013042707/article/details/63283367

(关于上面这个问题,还有些补充,当前compileSdkVersion 如果使用26的话,

面引入的Android support libaray也要设置到对应的版本

compile 'com.android.support:support-v4:26.1.0'
compile 'com.android.support:appcompat-v7:26.1.0'


最后,个人检验,仅供参考。希望大家都能解决自己的问题~~~




  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值