用svn控制版本,svn本身是不会识别哪些该传,哪些不该传,这就导致有些关于路径的东西(比如拓展jar的路径)也被上传了,而当别人下载后,那个路径对于这个人可能完全不存在,项目编译就会出问题。
我就是犯了这个错误,用eclipse安装了svn插件,然后一股脑把android项目都传上去,然后别人下载后就无法编译过去,怎么弄都不对。
经过各种谷歌后,晓得了Android项目有以下不能上传:
- bin目录
- gen目录
- .classpath文件
- .project文件
- Click on Window -> Preferences
- Select Team -> Ignored Resources
- Click on Add Pattern and enter "bin"
- Click on Add Pattern and enter "target"
- Click on Add Pattern and enter "m2-target"
- Click on Add Pattern and enter "gen"
- Click on Add Pattern and enter ".classpath"
- Click on Add Pattern and enter ".project"
- Click on Apply and then OK
还有一个问题是每次编译时,eclipse都会将src目录下的东西到考到bin里,这样.svn也会跟着进去,这样即使bin被屏蔽了,但还是在svn时有问题,解决方法:
菜单 - Project - Properties - Java Build Path - Source - xxx/src - Excluded,双击或点右边的编辑,在Exclusion patterns中加入"**/.svn/**",让Eclipse忽略.svn目录即可。
今天折腾了好久还晓得了svn删除某个文件怎么做:
先在本地
#svn del 要删除的文件或文件夹
注意这个是离线操作,此时服务器的这些还在,之后svn ci一下,就可以删掉服务器上的了。
注意:第一次上传到svn的android工程最好把 bin目录、gen目录、.classpath文件、.project文件等都删掉,在eclipse中checkout出来会提示重建一个项目,这样以后也不需要提交bin等文件夹的信息。