Android SDK更新到17(SDK Tools --> 17)后的悲剧: java.lang.VerifyError: com.xxx

昨天更新了SDK 版本,更新到了最新的 17 ,然后根据它的要求又把eclipse ADT插件更到最新,然后跑项目发现问题了,先是Eclipse 打开时报错,项目也无法右击刷新,有的以前的项目不能正常打开.

出现一个dialog ,显示

Initializing Java Tooling  
java.lang.NullPointerException

查找资料:

http://stackoverflow.com/questions/5335650/npe-during-eclipse-start-on-initializing-java-tooling


解决方法:重新那一个新的文件夹来放项目,只能这样了,发现eclipse不再报错了,项目也能右击刷新了


可是运行一些项目的时候,根本不能运行,出现了如下异常:(而有一些项目是可以正常跑的,像以前一样),发现这些出问题的项目都是需要引入外部jar包的

03-31 10:35:57.607: E/AndroidRuntime(4436): java.lang.VerifyError: com.xxx.project.twitter.TwitterApp

03-31 10:35:57.607: E/AndroidRuntime(4436): at com.xxx.project.activity.HomeActivity.getWidgetInstanceForAWordView(HomeActivity.java:158)

03-31 10:35:57.607: E/AndroidRuntime(4436): at com.xxx.project.activity.HomeActivity.getAllWidgetInstance(HomeActivity.java:138)

03-31 10:35:57.607: E/AndroidRuntime(4436): at com.xxx.project.activity.HomeActivity.onCreate(HomeActivity.java:128)

03-31 10:35:57.607: E/AndroidRuntime(4436): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

03-31 10:35:57.607: E/AndroidRuntime(4436): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1619)

03-31 10:35:57.607: E/AndroidRuntime(4436): at android.app.ActivityThread.startActivityNow(ActivityThread.java:1495)

03-31 10:35:57.607: E/AndroidRuntime(4436): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)

03-31 10:35:57.607: E/AndroidRuntime(4436): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)

03-31 10:35:57.607: E/AndroidRuntime(4436): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:695)

03-31 10:35:57.607: E/AndroidRuntime(4436): at android.widget.TabHost.setCurrentTab(TabHost.java:366)

03-31 10:35:57.607: E/AndroidRuntime(4436): at android.widget.TabHost.addTab(TabHost.java:256)


上网找资料:

http://stackoverflow.com/questions/9817372/updated-sdk-tools-and-adt-to-17-and-now-getting-verifyerrors

这是跟我遇到的问题一模一样哎!!!

用它的解决方法:

http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17


一切ok啦,太开心啦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在Android项目中引入第三方SDK时出现 `java.lang.VerifyError: Verifier rejected class` 错误,通常是由于类的验证失败导致的。 这个错误可能是由以下原因引起的: 1. 兼容性问题:第三方SDK可能与你的Android项目存在兼容性问题。确保你使用的是与你的Android版本兼容的最新版本的SDK,并确保依赖的所有库和插件版本兼容。 2. 混淆配置问题:如果你在项目中使用了代码混淆工具(如ProGuard),请检查混淆配置是否正确。有时混淆会导致类文件被错误地优化或删除,从而引发验证错误。尝试排除第三方SDK的类文件或调整混淆配置,以解决此问题。 3. 依赖冲突:可能存在依赖冲突,即不同的库引用了相同的类或资源文件。这可能导致类验证失败。可以尝试通过更新或排除依赖项来解决依赖冲突问题。 4. 类文件损坏:第三方SDK的类文件可能损坏或不完整,导致验证失败。尝试重新下载或更新SDK,并确保所有的类文件都是完整的。 5. Android版本问题:某些第三方SDK可能不兼容你的Android版本。尝试更新你的Android SDK版本,并确保与第三方SDK的要求相符。 在解决该问题时,你可以尝试清理项目并重新构建,以及在错误日志中查找更多详细信息,以便更好地定位问题所在。如果问题仍然存在,可以尝试在开发者社区(如Stack Overflow等)搜索类似的问题,并查看其他开发者是否遇到了相似的问题并找到了解决方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值