Frage

Ich habe eine große Menge an Java-Code (nur Berechnungsfunktionen, keine UI), die ich als statische Bibliothek in iOS wiederverwenden möchte. Mein Ansatz bestand darin, robovm zu verwenden, und folgen der inoffiziellen Möglichkeit, eine statische Bibliothek zu erstellen, die in den beiden Artikeln im RobovM-Forum beschrieben wurde : 1 grundlegende Weise und 2 verfeinerte Version

Versuch, die Schritte genau wie beschrieben zu folgen, wurde ich leider stecken, nachdem ich die Shared-Bibliothek mit dem Skript erstellte, die Bibliothek (.a) in Xcode verknüpfen und das Projekt erfolgreich aufbauen.

Während der Laufzeit sehe ich, dass mein C ++ - Bridge-Code aufgerufen wird, aber der JNI ruft in die Bibliothek zurück, schlägt mit einem BAD_ACCESS nicht aus. Zum Beispiel stürzt der folgende Zeilen zusammen:

generasacodicetagpre.

Bei dieser Methode:

generasacodicetagpre.

}

Dasselbe gilt, wenn ich versuche, die RVMXX-Methoden direkt anstelle von JNI einzusetzen und zu versuchen, auf etwas in meinen "Java" -Kläden zuzugreifen. Es sieht so aus, als ob der RVmenv nicht vollständig initialisiert wird. (Ich doppelte auf Paketname-Fehler oder--Tippfehler überprüft).

Es wäre großartig, wenn jemand bereits mit der Erstellung einer gemeinsam genutzten statischen Bibliothek aus einem RobovM-Projekt gelungen ist, und könnte die Erfahrung hier teilen oder mich in die richtige Richtung zeigen, um das Problem zu lösen.

War es hilfreich?

Lösung

Wie Sie erwähnt haben, haben Sie wahrscheinlich noch nicht initialisiert Robovm.

Sie müssen eine Methode erstellen, sagen initrobovm (), um etwas spiegelbc.c-Hauptverfahren zu erstellen.Dies wird von Ihrem Code aufgerufen, wenn Sie RobovM initialisieren möchten.Sie müssen den App-Pfad eingeben, den Sie beim Testen hardcode können.

initrobovm () benötigt einige Modifikationen, nämlich darf die Hauptmethode der Java-App nicht nun, zumindest, so dass sich gut benachbarte Bibliotheken nicht imo tun dürfen.Es sollte auch nicht rvmshutdown anrufen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top