您的位置:首页 > 移动开发 > Android开发

记录两个android项目在编译打包时出现的疑难杂症

2015-11-26 19:36 447 查看
如题,我们在编译打包android项目的时候偶尔能碰到以下两个比较棘手的问题,尤其是相当于经验不足的人来说,这两个问题都是出现在编译打包阶段,解决方法这里就不写出了,直接引用别人的方案。

当我们运行一个android项目的时候即Run as android application后,IDE会一直在处理,这时几乎百分百会让IDE卡死,甚至直接自动关闭,那么些时可以预先将Console视图切换到Android档位,查看具体的编译日志,则所要说的两个问题的日志分别为:

1、Dex Loader] Unable to execute dex: Multiple dex files define

      该日志表示我们所编译的项目存在多个dex文件的定义,原因即为我们的项目引用了相同的jar包导致比如 Libs文件夹放一个a.jar而又引用了一个库工程该库工程生成的jar包也是a.jar,具体的解决方案可参考此人的博客,地址为:http://blog.csdn.net/mxlxiao7/article/details/8978930

2、Dx warning: Ignoring InnerClasses attribute for an anonymous inner class

(com.bugtags.library.vender.volley.toolbox.m) that doesn't come with an

associated EnclosingMethod attribute. This class was probably produced by a

compiler that did not target the modern .class file format. The recommended

solution is to recompile the class from source, using an up-to-date compiler

and without specifying any "-target" type options. The consequence of ignoring

this warning is that reflective operations on this class will incorrectly

indicate that it is *not* an inner class.

  这个问题如果不百度可能真无从下手去解决,网上有说Android sdk tools版本低的,但我碰到的时候并不是这个原因,而是如这篇博文所述,地址为:http://www.xuebuyuan.com/1631644.html

怕该文章日后不见,直接把文章内容摘录下来,作者如介意,请通知删除。

最后发现是debug证书的问题。我到C:\Users\liyang\.android\debug.keystore目录下看到



大家可以看到debug.keystore的日期是 2011-1-11,而今天是2012-1-13日,果然如网上所说,超过了一年,debug证书过期了。

于是我删掉这个文件,重新编译运行,果然没问题了,而此时 该目录又重新生成了debug.keystore,日期是今天。

以上两个对于新手来说或者未碰到过这种问题的人来说,自己解决很费时费心,在此仅作参考备忘。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android编译错误