Android und Mac OS X synchronisieren

Lucas de Vil

Lucas de Vil

Ambitioniertes Mitglied
2
Hey ho!

Am Android (auf dem Freerunner) nervt mich ja tierisch an, dass ich permanent Daten doppelt und dreifach pflegen darf.

Zum Beispiel darf ich meine Kontaktdaten sowohl auf dem 'Großen'
(PowerMac 2x2.0GHz) als auch auf dem 'Kleinen' (MacBook) und zusätzlich noch auf dem 'Handgerät' synchron halten.

Gut, vom Großen auf den Kleinen hält sich der Aufwand in Grenzen. Adressbuch exportieren, importieren, fertsch.
(Ich hör schon den Ruf nach nem LDAP-Server... Momentan ist kein Geld für nen Mac Mini über. :p)

Nun würde ich mir ja liebend gern ein iSync Plugin schreiben, welches die Daten des Android-Adressbuchs mit dem des Apple-Adressbuchs synchronisiert.

Tja... aber wie komme ich an die Daten im Android-Adressbuch?

Wenn ich die API-Demos richtig deute, dann darf ich mir irgendwie per ContactFilter alle Kontakte aus Android laden...
Ich persönlich kann mit Java ja nicht allzu viel anfangen, weshalb es mir natürlich lieb wäre, möglichst ohne Java da ran zu kommen.

Ausgesprochen offen ist Android auch nicht gerade, so dass ich z.B. auch keine Möglichkeit sehe über Umwege auf die Daten der SD-Karte zuzugreifen.

Müsste ich eine (Android)Client-(Mac)Serverlösung erstellen, die mir die Daten bereit stellt?
Oder gibt es da was Einfaches?
Hat sich vielleicht schon jemand Anderes mit der Thematik beschäftigt und bereits eine Lösung gefunden?
 
ikarusx3 schrieb:

Zunächst einmal vielen Dank für den Link! :)

Aber meinen die das wirklich ernst? Applikationen können nur auf Kontakte zugreifen, wenn sie in Google verfügbar sind?
Das halte ich persönlich ja für eine Frechheit...
Zunächst einmal nutzt es mir nicht viel, da mein Gerät nicht ins Netz kann.
Zum Anderen würde es ja bedeuten, dass jeder Hans und Franz mit seinen Anwendungen sämtliche Daten von mir abrufen und sonst wie weiter verteilen kann.

Ich denke, da liegt einfach eine Fehlinformation vor. Das Adressbuch kann ja auch so auf meine Adressen zugreifen. Wie gesagt ohne Google im Hintergrund.

Es muss also eine aus Datenschutzsicht weniger bedenkliche Möglichkeit geben.
 
  • Danke
Reaktionen: Steveria
Wie läuft das mit dem Freerunner? Hast du da Root-Rechte?

Ich denke die Adress-Daten werden auf dem G1 in einer SQLite-DB stehen,
ist nur eine Vermutung, aber wenn es stimmt, könnte man es auch versuchen,
mit bash, C usw. wenn du kein Java magst.
 
zx128 schrieb:
Wie läuft das mit dem Freerunner? Hast du da Root-Rechte?

Berechtigte Frage.
Ich finde kein Terminal und habe nicht den Hauch einer Ahnung welche IP die USB-Schnittstelle des Geräts verpasst bekommen hat.

Ich frag mal die Suchfunktion, wie ich das rausfinden kann.

[gefragt]
Und kein Stück schlauer.
Klar, wenn JesusFreke oder so da steht hat es Root-Rechte.
Gut, ich bin kein Fan von Root-Rechten im normalen Betrieb...
Wie dem auch sei:
Modellnummer: freerunner
Firmware: 1.5
Basisband-Version: unbekannt
Kernel-Version: 2.6.29-GTA02_android-kernel-mokodev
<developer><@><panicking> #91
Build-Nummer: eng.michael.20090223.110435

Und nu?

zx128 schrieb:
Ich denke die Adress-Daten werden auf dem G1 in einer SQLite-DB stehen, ist nur eine Vermutung, aber wenn es stimmt, könnte man es auch versuchen, mit bash, C usw. wenn du kein Java magst.

Oh, SQLite ist okay, damit kann ich um.
Wenn ich $irgendwie ans Gerät komme muss ich vielleicht gar nicht mal mit bash oder C rumprobieren sondern kann es gleich in Objective-C lösen...

Danke für den Denkanstoß!
 
Zuletzt bearbeitet:
Ist ja spannend, Android und Freerunner :) Mal die Welt aus dem anderen Winkel sehen, dank Menschen wie du ...

Hast du schon SDK drauf? Android Developers ?
Da ist ein "adb" dabei, mit "adb shell" hast du Terminal auf die Kiste (via USB).

Was Objective-C angeht:

aufm G1 läuft ein abgespeckter ARM-Linux drunter, ob du dafür Objective-C kompilierst bekommst, habe ich so meine Zweifel, und wenn, dann nicht mal eben.

Wenn du native C usw. für Android machen willst (also kein Java) brauchst du arm-eabi Toolchain.
Es gibt ein paar im Netz, ich nehme das hauseigene, dafür brauchst komplette Source-Umgebung von
Android. Welcome ?(Android Open Source Project)?
 
zx128 schrieb:
Ist ja spannend, Android und Freerunner :) Mal die Welt aus dem anderen Winkel sehen, dank Menschen wie du...

Ist ganz nett. Leider läuft nur ne Cupcake-Variante vernünftig, weil man mit reinem Touchscreen ohne Softkeys leicht aufgeschmissen ist. ;)
Richtig geil wäre es auch noch, beim SMS tippen das Gerät kippen zu können, damit die gesamte Ansicht sich ebenfalls dreht. Mehr Platz fürs Keyboard, leichter zu treffende Tasten...

zx128 schrieb:

Nein.
Dual 2GHz PowerPC G5...
Aber es wird demnächst auf dem MacBook installiert.

zx128 schrieb:
Was Objective-C angeht:

aufm G1 läuft ein abgespeckter ARM-Linux drunter, ob du dafür Objective-C kompilierst bekommst, habe ich so meine Zweifel, und wenn, dann nicht mal eben.
CrossCompiler für Objective-C gibt es Einige. Den GCC zum Beispiel.
Allerdings fehlen etliche Frameworks.
Welches ARM besitzt der gute G1 denn? Ein Mitglied aus dem OSXEntwicklerforum hat nämlich im Zuge für seine Programmiersprache QuantumStep auch einen kleinen Crosscompiler für ARM-Prozessoren drin.
Leider passt dieser nicht für den ARM, der im Freerunner verbaut ist...
Was das genaue Problem war weiß ich gar nicht mehr, aber irgendwas am Binary-Format war grundlegend anders und es gab keine Quellen, die dem guten Mann beim Cross Compiler basteln helfen konnten.
(Weshalb wir unter Anderem die wirre Idee haben, Darwin [den OS X Kern] für ARM zu portieren... +lach+)



zx128 schrieb:
Wenn du native C usw. für Android machen willst (also kein Java) brauchst du arm-eabi Toolchain.
EABI... EABI??? +grübel+
Ha, DAS war das Problem! Den ARM-OABI konnte er cross-compilen, nur den ARM-EABI nicht. Mist, also wirds für das G1 auch nix mit QuantumSTEP... :(

Ohne im Android selbst rumfuhrwerken zu müssen werde ich da jedenfalls wohl eher nix realisiert bekommen. Ich hoffte ja auf einen per USB oder Bluetooth erreichbaren Dienst, dem man einfach ein 'getContactData' entgegenwirft und der dann mit sämtlichen Kontakten um sich wirft.
Idealerweise noch ein 'getContactDataChangedAfter:timestamp', um die Synchronisationsdatenflut gering zu halten.

Aber da war ich wohl etwas zuversichtlich.

Immerhin, so bleibt es spannend. :D
 
zx128 schrieb:
Hast du schon SDK drauf? Android Developers ?
Da ist ein "adb" dabei, mit "adb shell" hast du Terminal auf die Kiste (via USB).

Hab es gerade auf dem Arbeitsrechner (XP) versucht.
Erfolglos, ich komm nicht rauf.
Nach mehrmaligem Hin und Her ist der Fehler auch bekannt: XP mag diesen RNDIS-Treiber nicht, wenn der Kernel > 2.6.24 ist.

Wat weiß ich wieso. Dem Internetz zu Folge auf Grund spontaner Reboots von XP dank des RNDIS-Treibers.

Also muss das bis heute Abend warten. :)

Nur falls jemand mal danach suchen sollte:
Der Versuch, eine Shell zu öffnen, liefert folgendes Ergebnis:
Code:
C:\>adb shell
error: device not found

C:\>
Die Anzeige der Devices ist auch eher mau:
Code:
C:\>adb devices
List of devices attached


C:\>
Der Status des RNDIS-Treibers mit dem schwarzen Ausrufezeichen im gelben Dreieck lautet:
Das Gerät kann nicht gestartet werden. (Code 10)

Klicken Sie auf "Problembehandlung", um die Problembehandlung für dieses Gerät zu starten.
 
Zuletzt bearbeitet:
Nun auf dem MacBook ein ähnliches/gleiches Problem.
Immerhin wurde das Gerät als Netzlaufwerk erkannt und hat eine vernünftige IP bekommen. Pingen kann ich den Kleinen. Doch sowohl SSH als auch Telnet lassen mich nicht rauf.

Dem adb kann ich zwar theoretisch eine Ziel-IP mitgeben (ADBHOST=192.168.0.202 vor jeden adb-Befehl), aber auch das führt zu keinem Erfolg.

Kann ich adb irgendwie zwingen auf eine bestimmte IP zugreifen zu wollen?
 
Zuletzt bearbeitet:
Das könnte daran liegen das kein telnetd oder sshd gestertet sind auf dem G1.
Wenn du es genau nach der Anleitung auf android.com machst, läuft es auch auf dem MacBook. Tuts jedenfalls bei mir ;)
 
Dabei steht es doch schon in der Signatur...
Da es offensichtlich immer wieder zu Missverständnissen kommt: gar kein G1, nur nen Neo FreeRunner mit Android.
Und über andere Hardware schweigt sich Android.com leider aus. ;)
 
Lucas de Vil schrieb:
Ha, DAS war das Problem! Den ARM-OABI konnte er cross-compilen, nur den ARM-EABI nicht. Mist, also wirds für das G1 auch nix mit QuantumSTEP... :(

Kleines Update: den Cross-Compiler gibt es jetzt!
Demnächst* wird also vielleicht auch QuantumSTEP auf dem G1 laufen. :)

* Blizzards 'demnächst' oder auch Debians 'demnächst': it's done when it's done.
 
Also ich hab da einfach mal flott unter OS-X 10.5.x im Adressbuch unter Einstellungen /allgemein das Häkchen für mit Google Syncen gesetzt und die Daten waren fast umgehend auf das G1 gesynct.
 

Ähnliche Themen

H
Antworten
2
Aufrufe
1.282
Hcman
H
M
Antworten
4
Aufrufe
1.147
swa00
swa00
5
Antworten
0
Aufrufe
1.116
586920
5
Zurück
Oben Unten