今天在做android项目时,加入第三方包,一编译就报错。
错误如下:
[2012-01-13 14:51:25 - xxx] Dx warning: Ignoring InnerClasses attribute for an anonymous inner class
(org.xxx.xxx.xxx$1) 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.
Failed to load properties file for project 'xxx'
于是我把注意力放到第三方包可能加错的情况中。于是按照网上的说法,将包都重新加了一遍还是报错。
最后发现是debug证书的问题。我到C:Usersxxx.androiddebug.keystore目录下看到
大家可以看到debug.keystore的日期是 2011-1-11,而今天是2012-1-13日,果然如网上所说,超过了一年,debug证书过期了。
于是我删掉这个文件,重新编译运行,果然没问题了,而此时 该目录又重新生成了debug.keystore,日期是今天。
如果你想重现这个问题,也很简单,必须clear工程,否则它不会再到该目录下装载证书,即使你把这个文件换成2010的也不会不错,而你clear后,
项目会重新装载证书,检测证书的有效期。希望对大家有所帮助。