Es posible que haya encontrado algo que está satisfecho con ahora, pero he compilado un binario de unísono que funciona en Android - es posible el uso de las instrucciones de la mano-que está hablando - los utilicé para cruz-compilar la fuente de Linux dentro de Ubuntu 12.10 utilizando el Android NDK y con unas pocas alteraciones en el código que ahora está trabajando. Siga las instrucciones en https://sites.google.com/site/keigoattic/ocaml-on-Android y entonces tendrás que hacer algunas cosas. Hay un archivo llamado pty.c en la fuente unison - encontrar la siguiente sección:
// openpty
#if defined(__linux)
#include <pty.h>
/*#define HAS_OPENPTY 1*/
#endif
y comentar define HAS_OPENPTY 1
como se muestra. También es necesario abrir ubase/util.ml y editar:
let homeDir () =
System.fspathFromString "/Your path here"
Comenta desde aquí:
(if (osType = `Unix) || isCygwin then
safeGetenv "HOME"
else if osType = `Win32 then
(*We don't want the behavior of Unison to depends on whether it is run
from a Cygwin shell (where HOME is set) or in any other way (where
HOME is usually not set)
try System.getenv "HOME" (* Windows 9x with Cygwin HOME set *)
with Not_found ->
*)
try System.getenv "USERPROFILE" (* Windows NT/2K standard *)
with Not_found ->
try System.getenv "UNISON" (* Use UNISON dir if it is set *)
with Not_found ->
"c:/" (* Default *)
else
assert false (* osType can't be anything else *))
...¡Hasta aquí!
Entonces también tendrás que editar Makefile.Ocaml
CWD=$(shell pwd)
EXEC_EXT=
WINOBJS=
SYSTEM=generic
# openpty is in the libutil library
ifneq ($(OSARCH),solaris)
ifneq ($(OSARCH),osx)
# CLIBS+=-cclib -lutil
endif
endif
buildexecutable::
@echo Building for Unix
endif
endif
Y comenta # CLIBS+=-cclib -lutil
como se muestra.
Y que yo recuerde, todo eso funcionó. El otro paso una vez compilado es montar tu partición de sistema Android como escribible y copiar unison a la carpeta /system donde están el resto de comandos del shell.
Espero que le sirva a alguien... perdí mucho sueño compilándolo.
0 votos
Iba a sugerir sugarsync ... pero entiendo la preocupación
0 votos
Eche un vistazo a sparkleshare.org - relativamente nuevo proyecto, cliente Android en las obras, creo.