2012-04-03 87 views
0

我一直試圖使用SVN Kit從Android應用訪問SVN存儲庫。
我們的項目應該檢查文件的變化並在文件發生變化時下載它們,但仍然可以在需要時回滾到以前的版本。
如何從Android設備訪問SVN

我設置了一個普通的Java項目,使用SVN Kit沒有問題,我登錄到SVN服務器,並檢索存儲在那裏的文件列表。

但是,當我嘗試從Android項目中做到這一點時,所有地獄都失敗了。虛擬機耗盡了堆空間,只是試圖構建它,而Eclipse在尖叫的火焰中出現了一些評論,比如'GC overhead overhead exceeded'。

我感覺這是由於Android使用的虛擬機的不同類型造成的,而SVNKit jar是爲不同類型的虛擬機編譯的。

This Guy聲稱已經得到它的工作,看起來像一箇舊版本的Android。


現在我建議我們使用某種類型的ftp服務器方法,上傳文件的新版本,或許使用包含版本信息的獨立文件,但是我必須在將其寫成死衚衕之前探索此路徑,或者至少建議給我的老闆!

anyu幫助或建議將大大appricated。

回答

0

我的答案可能不直接與SVNKit相關,但實際上會嘗試解決原始問題。

正如我瞭解你的用例,你想要下載文件,如果他們已經改變,並試圖使用SVN來執行它的更新命令。我寧願創建一個簡單的Web服務,它應該返回帶有校驗和或md5Hash的文件列表。現在我假設只有相關的文件存在於服務器上。收到哈希後,您可以將它們與設備上的哈希進行比較,並根據差異決定更新。這種方法也可以用於回滾,因爲您只需用舊文件替換服務器上的文件,並將其視爲新文件。

就堆溢出和內存不足而言,它們主要是因爲10MB左右的堆空間有限。