我们在使用 eclipse 在开发 Android APP 的时候,会用到一个 clean
(Project —— Clean...) 的操作,这个操作执行的内容很简单,就是将项目结构中的
bin 目录中早先编译好的apk,dex等内容删除,然后重新编译生成出这些内容(当然,绝大多数当我们按下 “保存” 按钮的时候,eclipse 会自动重新编译 bin 目录中的内容,但是也有时候 ecipse 不会进行自动编译,这时候就需要我们进行手动 clean 操作了,不过在 Android Studio 中 Google 已经取消了 clean 操作),虽然 clean 操作非常简单,但是它依然带给我们不少困扰甚至麻烦,我们需要明确的知道该何时使用 clean 操作。
什么时候使用?
事实上,在你对项目做出任何修改(代码修改,res资源文件修改,AndroidManifest.xml配置文件修改等)之后,如果再次运行之后还是显示旧有的资源文件甚至代码逻辑,你都应该试一下 clean
操作,否者很可能你运行的还是未修改的上一版apk。
在项目开发的时候,我经常遇到项目资源例如图片修改之后,运行之后还是显示的旧的图片或其它资源文件(尤其是在单独进行图片更换的时候,这个情况出现的频率最高),这时候就是进行 clean
操作的绝佳时机;
另一种令我印象深刻的教训是这样的:由于项目中使用了 json,所以我给一个接口写了一个对应的 bean 类,后来由于接口变动,后台返回数据增加了2,3个字段,所以我需要在 bean 中添加对应的属性,问题在此时出现,我修改完了 bean 文件之后,重新运行项目,但是却总是无法解析后台新增的几个字段,经过了漫长的项目检查之后,我才终于发现原来是因为 eclipse 根本没有自动生成新的apk包,运行的其实还是旧的包,所以解析后台数据的时候当然不会解析那些新增的字段,解决这个问题的办法就是 clean
一下。
注意:有一种情况是例外,当修改了项目的启动icon(即放在桌面上的的图标)时,在小米的 MIUI 操作系统上并不会马上进行更新,执行 clean
操作也不行,这个可能是因为小米自身的icon缓存机制吧,但我们也不需要过分担心,安装好
apk 之后,过几天这个 icon 就会换成新更换的 icon 了。
什么时候不使用?
执行 clean
操作的时候,你应该确定项目中是否还存在有报错(红色x标示的代码)的地方,尤其是 layout 布局和 res 资源 xml 文件是否都正常,否者冒然进行 clean
操作只会导致项目
gen 目录下的 R.java
文件丢失,让项目整体报错。
over,这就是今天我要说的了,如果发现我的文章有任何错误的地方,欢迎打脸,期待交流~