用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等文件夾的信息。