Sie haben vielleicht etwas gefunden, mit dem Sie jetzt zufrieden sind, aber ich habe eine unisono-Binärdatei kompiliert, die auf Android funktioniert - es ist möglich, die Handbewegungsanweisungen zu verwenden, von denen Sie sprechen - ich habe sie verwendet, um die Linux-Quelle in Ubuntu 12.10 zu kompilieren Mit dem Android NDK und mit ein paar Änderungen am Code funktioniert es jetzt. Befolgen Sie die Anweisungen unter https://sites.google.com/site/keigoattic/ocaml-on-android. Anschließend müssen Sie einige Schritte ausführen. Es gibt eine Datei namens pty.c in der unisono-Quelle - finden Sie den folgenden Abschnitt:
// openpty
#if defined(__linux)
#include <pty.h>
/*#define HAS_OPENPTY 1*/
#endif
und define HAS_OPENPTY 1
wie gezeigt auskommentieren. Sie müssen auch ubase / util.ml öffnen und bearbeiten:
let homeDir () =
System.fspathFromString "/Your path here"
Kommentar von hier aus:
(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 *))
...Bis hierhin!
Dann musst du auch Makefile.Ocaml bearbeiten
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
Und # CLIBS+=-cclib -lutil
wie gezeigt auskommentieren.
Und soweit ich mich erinnern kann, hat alles geklappt. Der andere Schritt, der einmal kompiliert wurde, ist das Mounten der Android-Systempartition als beschreibbar und das gleichzeitige Kopieren in den Ordner / system, in dem sich alle anderen Shell-Befehle befinden.
Hoffe, das ist hilfreich für jemanden ... Ich habe viel Schlaf verloren, als ich es zusammengestellt habe.