【Android】升级ADT 22 引发的错误

本文介绍了在将ADT升级到22版本后遇到的应用无法运行的问题及其解决方案。主要涉及如何正确配置第三方库以避免ClassNotFoundException等错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天心血来潮,又把ADT升级了一下,升级到了ADT 22,悲催的发现项目用不了了(能编译通过,运行出错)。

 

声明
欢迎转载,但请保留文章原始出处:) 
博客园:http://www.cnblogs.com
农民伯伯: http://over140.cnblogs.com 

 

正文

错误一:(警告)

 Unable to resolve superclass of Landroid/support/v4/app/_ActionBarSherlockTrojanHorse;

错误二: (错误)

Activity也直接Caused by: java.lang.ClassNotFoundException 

错误原因:

 ADT 22中新增了Export,你会发现新增了Android Private Libraries库,默认可能Export没有选中,如图:

 

勾选、重新编译即可。此外还可能出现Library工程中引用的Libs编译时不会加到主工程的问题,也是这个原因造成的,选中即可。

 

我导入的项目 也是报这个错误 但是试了一下上面的提示 貌似不行,直接将android private libaries 从build路径中移除 即可。

 

 

解决Android 应用运行报Unable to resolve superclass of L错误

Android开发中如果将ADT 升级到17以上(包括17),如果你的项目中引用了其它第三方的jar包,在运行是就会报下面的错误。这是因为在ADT17以后第三方包统一要放在一个libs的文件夹中,如果你的第三方包(jar)没有放在这里,编译时不会将其拷贝到.dex文件中,因此在运行是会报如下错误
解决办法:在你的工程项目下创建一个libs的文件夹,将jar放到libs文件夹里即可。这个问题困扰了好久,开发中一直用的是ADT16,今天终于找到解决办法了
 
 

今天手痒,把Android 的ADT 更新到了22.0.1,结果一个安卓项目起不起来了,在主界面的时候报了一个unable to resolve superclass of Lcom/xxx.xxx.xxx

也没有像搜索到的其他解决办法,建个libs目录,把第三方包都放里面,因为之前有这个目录了。


找尼玛半天,还是在g.cn上找到一老外的解决方法(...度娘上搜索到的都是Ctrl+C、Ctrl+V,并且都是说libs的问题,我勒个去!):

1.项目上右键->Build Path -> Configure Build Path ->Order and Export里,把Android Private Libraries给勾上;

2.然后把Bin目录里的所有 文件都删除,然后清理一下项目,重新运行就可以了


遇到跟我同样问题的同学,可以尝试一下,说不定就解决了。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值