Подтвердить что ты не робот

Как использовать Git на Android?

У меня есть настольное приложение, использующее git для синхронизации. У меня также есть приложение для Android, которое делает то же самое, что и рабочий стол, но я не знаю, как сделать часть синхронизации на нем. Я не нашел реализации git на android. Я нашел jgit, но его нездоровое задокументированное, и я не смог сделать даже фиксацию с этим.

Я думал о удаленных командах на моем сервере git из моего приложения для Android, но для меня это действительно дразня. Не могли бы вы сказать мне, существует ли какая-либо другая реализация git, которая может быть использована на Android? Если у вас есть идея, как это решить, сообщите мне.

4b9b3361

Ответ 1

Другой вариант - использование ASE. Кажется, что полнофункциональная чистая реализация python git в https://github.com/jelmer/dulwich.

Ответ 2

Поскольку этот вопрос был впервые отправлен, на рынок было добавлено приложение для Android, которое может проверять репозитории Git, называемые Agit, Он не может зафиксировать или нажать еще, но функциональность clone/fetch/pull полезна. Другая проблема заключается в том, что перед использованием Agit необходимо установить исправленную версию ConnectBot, если вы хотите использовать SSH-ключи. Если у вас уже есть ConnectBot, сначала удалите его. Я не делал этого и сталкивался с проблемами.

Ответ 3

Если устройство внедрено, вы также можете использовать debian debootstrap (http://wiki.debian.org/Debootstrap) для создания образа debian/armel, монтировать его в вашем устройстве Android и chroot, у вас есть возможность, поэтому любой пакет, доступный для armel, может быть установлен на вашем устройстве (для установки git: aptitude install git). Посмотрите здесь, как установить debian для вашего Android: http://lanrat.com/install-debian-on-android/

Ответ 4

Некоторые другие доступные решения, помимо Agit, так как этот вопрос был последним:

  • A git и меркуриальный клиент для битбакета под названием Bitbeaker

  • Приложение git из github

  • В Java IDE AIDE также есть git функциональность, поэтому вы можете скачать ее из каталога git и если его приложение Android изменит и запустит его.

Ответ 5

Я бы предложил посмотреть Gidder. Это серверная реализация Git для Android с управлением пользователями и репозиториями, а также поддержка динамического DNS. Вы можете легко сохранить свой код на своем устройстве Android и получить доступ с помощью WiFi-соединения.

Ответ 6

Вы также можете попробовать Pocket Git: https://play.google.com/store/apps/details?id=com.aor.pocketgit.

Pocket Git поддерживает SSH (с парольными фразами, но у закрытых ключей, похоже, есть некоторые проблемы) и HTTP, клонирование, этап, нестандартность, фиксация, push и pull; создавать, удалять и объединять ветки; и он также имеет графический просмотрщик журнала и может отображать различия.

Отказ от ответственности: я разработчик

Ответ 7

MGit является преемником SGit, и он работает очень хорошо для меня.

Ответ 8

Update:

Comment под этим ответом OP- (Натан Осман)

К сожалению, я был вынужден вытащить приложение после недавних изменений политики в Play Маркете, которые потребовали от издателей, чтобы их адрес отображался на странице хранилища приложений.


Оригинальный ответ

Я только (около апреля 2013 года) опубликовал приложение в магазине Play, названное GitDroid. Приложение позволяет выполнить следующее:

  • Клонирование удаленных репозиториев
  • вытащить из пульта и слить новые версии
  • просмотр коммитов и просмотр файлов

Overview Tab of GitDroid

Приложение не может надавить на удаленный компьютер или сделать локальные коммиты - это запланировано для будущего обновления.

Ответ 10

В ответах было опубликовано много уже существующих приложений, но следующие ссылки могут быть полезны для тех, кто ищет свою собственную реализацию:

  • libgit2

    Это чистая реализация C, которая утверждает, что она очень портативна. И проект также описывает как скомпилировать источники для платформы Android. Теперь, что нужно сделать, это написать для него привязку JNI. Даже исполняемый двоичный код будет достаточным в некоторых случаях.

  • HTTP (немой) протокол

    В качестве альтернативы, если кто-то просто интересуется операциями чтения из репозитория, этот протокол может быть реализован через HTTP. Существует также интеллектуальный протокол, который зависит от ssh и выполняет дифференциальные передачи.

  • Основные источники JGit

    Использование только основного пакета из его источников. Все зависимости javax.* и другие несовместимые/инопланетные классы должны были быть заменены альтернативами Android. Но стоит усилий, если чистую реализацию Java можно портировать на Android.

Ответ 11

Вот как я это сделаю:

Ну, вы, вероятно, захотите определить интерфейс для ваших нужд синхронизации.

Вы реализуете этот интерфейс на C как для настольных, так и для Android-устройств (с помощью NDK), используя для этого реализацию git (native).

Затем, для приложения Android, вы кодируете слой JNI сверху, чтобы он предоставлял интерфейс Java.

Трудная часть заключалась бы в том, чтобы разные команды git собирались для Android: вам придется переписать make файлы.

Ответ 12

Попробуйте SGit, он может совершать и нажимать SSH с помощью ключей без pss -фраза и доступен на F-Droid. Он построен на вершине JGit. Это не идеально (пока), а реализация JGit не так хороша, как оригинал Git, но выглядит полезной.

Ответ 13

Еще один вариант - CubeGit.

Мы выпустили CubeGit в Google Play несколько дней назад.

Это интерфейс для скрещенного скомпилированного двоичного файла git, а также поддерживает локальные коммиты и push через ssh/http/https.