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

如题,我们在编译打包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杂记)