我一直在尝试使用SVN Kit从Android应用程序访问SVN存储库
我们的项目应该检查文件的更改并在它们发生更改时下载它们,但是如果nessecary仍然能够回滚到以前的版本。
我设置了一个普通的Java项目,使用SVN Kit没有问题,我登录SVN服务器并重新获得存储在那里的文件列表。
但是当我试图从一个Android项目中做到这一点时,一切都崩溃了。虚拟机耗尽了堆空间,只是试图构建它,Eclipse在尖叫的火焰中熄灭,并发出了“超出GC开销限制”的评论。
我的印象是,这是由于Android使用的不同类型的虚拟机器,而且SVNKit罐子是针对不同类型的VM编译的。
This Guy声称它已经成功运行,看起来像旧的Android版本。
现在我建议我们使用某种ftp服务器方法,上传新版本的文件,也许使用包含版本信息的单独文件,但是我必须先探索这条路径,然后再把它写成死路,或者至少建议那对我的老板!
任何帮助或建议都会受到很大关注。
答案 0 :(得分:0)
我的回答可能与SVNKit没有直接关系,但实际上会尝试解决原始问题。
据我了解您的用例,您希望下载文件(如果已更改)并尝试使用SVN通过其更新命令执行此操作。我宁愿创建一个简单的Web服务,它应该返回带有校验和或md5Hash的文件列表。现在我假设服务器上只有相关文件。收到哈希值后,您可以将它们与设备上的哈希值进行比较,并根据任何差异决定更新。这种方法也适用于回滚,因为您只需要用旧文件替换服务器上的文件,这将被视为一个新文件。
就堆溢出和内存不足而言,它们主要是因为10MB左右的堆空间有限。
答案 1 :(得分:0)
我创建了一个基于SVNKit的SVN客户端,可以在这里免费获得:https://play.google.com/store/apps/details?id=com.valleytg.oasvnlite.android
我不确定这是否适用于您的目的,或者您必须建立自己的目的。如果你想建立自己的,svnkit将不能直接在Android平台上工作。 SVNkit使用的某些库在Android平台上不可用。