我有一个使用git进行同步的桌面应用程序。我还有一个与桌面相同的android应用程序,但我不知道如何在其上执行同步部分。我还没有在android上找到任何git的实现。我找到了一个jgit,但它的记录不清楚,我甚至无法做到这一点。
我正在考虑从我的Android应用程序到我的git服务器的远程命令,但这对我来说真是一个挑逗。 你能告诉我是否存在可以在android上使用的任何其他git实现?如果你有任何想法如何解决,请告诉我。
答案 0 :(得分:18)
自从这个问题首次发布以来,市面上已经添加了一个Android应用程序,可以查看名为Agit的Git回购。它无法提交或推送,但克隆/提取/拉取功能很有用。另一个问题是,如果要使用SSH密钥,则需要在Agit之前安装patched version of ConnectBot。如果您已经有ConnectBot,请先卸载它。我没有这样做并遇到了问题。
答案 1 :(得分:14)
另一种选择是使用ASE。在https://github.com/jelmer/dulwich似乎有一个功能齐全的纯python git实现。
答案 2 :(得分:11)
如果该设备已植根,您还可以使用debian的debootstrap(http://wiki.debian.org/Debootstrap)应用程序来创建debian / armel图像,将其安装在您的Android设备中并chroot到它,您有这方面的资质,所以任何可用的包对于armel可以安装在您的设备上(安装git:aptitude install git)。在这里查看有关如何为您的android安装debian的信息:http://lanrat.com/install-debian-on-android/
答案 3 :(得分:8)
现在提供的其他一些解决方案,旁边是Agit,因为这个问题是最后一个回答:
答案 4 :(得分:6)
我建议你看看Gidder。它是Android的Git服务器实现,具有用户和存储库管理,并且还支持动态DNS。您可以轻松地将代码存储在Android设备中,并使用WiFi连接进行访问。
答案 5 :(得分:6)
你也可以试试Pocket Git:https://play.google.com/store/apps/details?id=com.aor.pocketgit
Pocket Git支持SSH(带密码,但私钥似乎有一些问题)和HTTP,克隆,阶段,非阶段,提交,推送和拉动;创建,删除和合并分支;它还有一个图形日志查看器,可以显示差异。
免责声明:我是开发者
答案 6 :(得分:5)
MGit是SGit的继任者,对我来说效果非常好。
答案 7 :(得分:5)
您可以安装https://github.com/termux/termux-app @ https://play.google.com/store/apps/details?id=com.termux,然后只需打开终端并输入:
apt update
apt install git
答案 8 :(得分:4)
<强>更新强>
Comment 在此答案下方 OP- (Nathan Osman)
遗憾的是,在Play商店最近的一些政策更改后,我被迫提取应用程序,要求发布商将其地址显示在应用程序的商店页面上。 原始答案 我只是(大约在2013年4月)在名为GitDroid的Play商店发布了一个应用。该应用程序允许您执行以下操作: 该应用无法推送到远程或进行本地提交 - 这是计划在未来更新。
答案 9 :(得分:4)
答案中已经发布了许多现有的应用程序,但以下链接可能对那些寻找自己实现的人有用:
这是一个声称高度可移植的纯C实现。该项目还描述了how to compile the sources for android platform。现在需要做的是为它编写JNI绑定。在某些情况下,即使是可执行的二进制文件就足够了。
作为替代方案,如果一个人对存储库中的读取操作纯粹感兴趣,则可以通过HTTP实现此协议。还有一个智能协议,它依赖于ssh并进行差分传输。
仅使用其来源的核心包。所有javax.*
依赖项和其他不兼容/外来类都需要用android替代品替换。但是,如果可以将纯Java实现移植到android。
答案 10 :(得分:2)
我就是这样做的:
您可能希望为同步需求定义接口。
您可以在C中为桌面和Android设备实现此接口(在NDK的帮助下),使实现使用git(native)。
然后,对于Android应用程序,您在顶部编写JNI层代码,以便将接口公开给Java。
棘手的部分是为Android编译不同的git命令:你必须重写makefile。
答案 11 :(得分:2)
答案 12 :(得分:1)
答案 13 :(得分:1)
您可以使用Termux在android上安装git。只需从Play商店安装并运行命令:
pkg install git
参考:https://mvprepublic.com/blog/2020/04/08/how-to-run-git-on-android-devices/
答案 14 :(得分:0)
JGit - http://eclipse.org/jgit/