android - studio - kotlin bottom navigation
¿Cómo usar Git en Android? (13)
Algunas otras soluciones que ahora están disponibles, incluyeron a Agit , ya que esta pregunta fue respondida por última vez:
Tengo una aplicación de escritorio que usa git para la sincronización. También tengo una aplicación de Android que hace lo mismo que el escritorio, pero no sé cómo hacer la parte de sincronización en él. No he encontrado ninguna implementación de git en Android. Encontré un jgit, pero no está bien documentado y no pude ni siquiera comprometerme con eso.
Estaba pensando en comandos remotos para mi servidor de git desde mi aplicación de Android, pero esto es realmente una burla para mí. ¿Podría decirme si existe alguna otra implementación de git que pueda usarse en Android? Si tiene alguna idea de cómo resolver eso, por favor dígame.
Así es como lo haría:
Bueno, es probable que desee definir una interfaz para sus necesidades de sincronización.
Implementa esta interfaz en C para escritorio y dispositivo Android (con la ayuda del NDK) haciendo que la implementación use git (nativo).
Luego, para la aplicación de Android, codifica una capa JNI en la parte superior para que exponga la interfaz a Java.
La parte difícil sería tener compilados los diferentes comandos de git para Android: tendrás que volver a escribir makefiles.
Desde que esta pregunta se publicó por primera vez, se ha agregado al mercado una aplicación de Android que puede realizar compras de repositorios de Git, llamada Agit . Todavía no puede comprometerse o presionarse, pero la funcionalidad de clonar / captar / extraer es útil. El otro problema es que una versión parcheada de ConnectBot debe instalarse antes de Agit si desea usar claves SSH. Si ya tiene ConnectBot, desinstálelo primero. No hice esto y tuve problemas.
JGit - http://eclipse.org/jgit/
Otra opción es usar ASE. Parece que hay una implementación completa de python pura de git en https://github.com/jelmer/dulwich .
Se han publicado muchas aplicaciones ya existentes en las respuestas, pero los siguientes enlaces pueden ser útiles para quienes buscan su propia implementación:
Esta es una implementación pura de C que dice ser altamente portátil. Y el proyecto también describe cómo compilar las fuentes para la plataforma de Android . Ahora lo que hay que hacer es escribir un enlace JNI para ello. Incluso un binario ejecutable sería suficiente en algunos casos.
Como alternativa, si uno está puramente interesado en las operaciones de lectura de un repositorio, este protocolo se puede implementar a través de HTTP. También hay un protocolo inteligente que depende de ssh y realiza transferencias diferenciales.
Usando solo el paquete central de sus fuentes. Sin
javax.*
todas las dependenciasjavax.*
Y otras clases incompatibles / alienígenas necesitarán ser reemplazadas por alternativas de Android. Pero vale la pena el esfuerzo si una implementación pura de Java se puede portar a Android.
Si el dispositivo está rooteado, también puedes usar la aplicación debootstrap ( http://wiki.debian.org/Debootstrap ) de Debian para crear una imagen Debian / Armel, montarla en tu dispositivo Android y acceder a ella, tienes aptitude aquí, así que cualquier paquete disponible para armel se puede instalar en su dispositivo (para instalar git: aptitude install git). Busque aquí información sobre cómo instalar Debian para su Android: http://lanrat.com/install-debian-on-android/
Sugeriría echarle un vistazo a Gidder . Es la implementación del servidor Git para Android con administración de usuarios y repositorios, y también es compatible con DNS dinámico. Puede almacenar fácilmente su código en su dispositivo Android y acceder usando una conexión WiFi.
También puedes probar Pocket Git: https://play.google.com/store/apps/details?id=com.aor.pocketgit
Pocket Git admite SSH (con claves privadas y frases de contraseña) y HTTP, clonación, etapa, unstage, commit, push y pull; crear, eliminar y fusionar ramas; y también tiene un visor de registro gráfico y puede mostrar diffs.
Descargo de responsabilidad: soy el desarrollador
Una opción más es CubeGit.
Lanzamos CubeGit en Google Play hace unos días.
Es una interfaz para un git binario compilado cruzado y también admite compromisos locales y push a través de ssh / http / https.
MGit es el sucesor de SGit, y funciona muy bien para mí.
Actualizar:
Comenta debajo de esta respuesta por OP- (Nathan Osman)
desafortunadamente, me vi obligado a retirar la aplicación después de algunos cambios recientes en la política de Play Store que exigían que los editores mostraran su dirección en la página de la tienda de la aplicación.
Respuesta original
Acabo de publicar (circa abril de 2013) una aplicación en Play Store llamada GitDroid . La aplicación te permite hacer lo siguiente:
- clonar repositorios remotos
- extraer desde el control remoto y fusionar nuevas revisiones
- ver confirma y explorar archivos
La aplicación no puede presionar a un control remoto o realizar confirmaciones locales aún; esto está planeado para una futura actualización.