使用Tortoise SVN版本控制Eclipse工作区的Android项目需要注意的地方:

1 不需要版本控制的目录:bin, gen
Eclipse中新建的Android项目,包含两个不需要也不能版本控制的目录:bin,gen。其中bin就是编译的二进制文件的存放路径,gen是Android需要的资源文件的源文件存放的目录(就是R.java存放的地方,具体是干什么的,可以参照Android的SDK,反正就是一个文件定义一个类,类中的变量对应了程序中的资源ID)。这两个文件夹每次build的时候都会清空,而Tortoise SVN进行版本控制就是靠在文件夹中存储一个隐藏的.svn文件夹来做的,这样只要一build,版本控制的信息就丢了,所以,这两个目录不可以版本控制。当然了,都是生成的东西,也不需要版本控制。

2 修改Build Path的设置
Eclipse默认会将src目录中的内容copy到bin文件夹中。如果按照第一步,没有对bin进行版本控制,但是对src等其他必要的目录进行了版本控制的话,就会莫名的发现bin的目录中多了一个.svn的文件夹,但是不像其他的同名文件夹,这个不是隐藏的。因为这个就是从src目录中copy过来的。
这会产生两个问题,一个是这个.svn文件夹,通过Tortoise SVN的命令,可以在bin中修改src的版本控制(因为是复制过来的么,简单理解可以认为是拷贝了另一个东西的指针过来),当然这个通过小心操作可以避免误操作。但是,另一个问题,就是Eclipse在编译的时候会去尝试处理.svn文件夹中的内容,这个就会出现许多莫名的错误,导致无法成功编译。

所以我们要避免从bin中copy src目录中的.svn文件夹,这个要在项目的Build Path设置中修改,在里面的Source标签中,找到src对应的Excluded进行编辑,添加**/.svn/**,即可忽略.svn文件夹。从而解决上面的问题。但是这个不能进行全局设置,对每个新项目都这么做一遍,也挺不人性化的。

如果不幸因为.svn中的内容产生了错误却不能通过上面提到的方法解决,可以在Eclipse中删掉项目(别从硬盘上删掉……),然后选择File->Import,将硬盘上的项目重新导入,烦人的错误就消失了。