BlackBerry - Ant-Skript zum Einbinden von JAR in ein Projekt ohne externe Abhängigkeiten

9

Dies ist ein Follow-up zu: BlackBerry - verwenden Sie eigene JAR Datei im eigenen Projekt & amp; BlackBerry - Ant Build-Skript für komplexere Apps . Dieses Problem wurde jetzt unten gelöst gelöst.

Ziel

Ich möchte:

  1. benutze Ant ( bb-ant-tools ), um meine Bibliothek in eine JAR-Datei
  2. zu konvertieren
  3. enthält diese JAR-Datei in einem Projekt
  4. Verwenden Sie Ant , um dieses Projekt in einem COD-Code zu erstellen, der auf dem Gerät ausgeführt wird (ohne externe COD-Dateien).

Der wichtigste Teil besteht darin, Ant zu verwenden, um die letzte Stufe des Builds zu erstellen .

Alle Posts, die ich für dieses Problem gefunden habe, verwenden Eclipse für diese letzte Build-Phase (Details unter BlackBerry - eigene JAR-Datei in eigenem Projekt verwenden ).

Fortschritt

  1. Ich kann das Bibliotheksprojekt mit Ant.
  2. in eine JAR-Datei konvertieren
  3. In Eclipse kann ich diese JAR-Datei zu einem Projekt hinzufügen und sie wie gewünscht erstellen (einzelner COD, keine externen Abhängigkeiten). Es wird auf dem Gerät ausgeführt.
  4. In Ant kann ich auch einen Build erstellen, der auf einer zusätzlichen COD-Bibliothek basiert, um den Laufzeitcode zu enthalten - das ist fast das, was ich brauche.

Problem

Ich kann das endgültige Projekt mit Ant aufbauen. Die resultierende COD-Datei enthält jedoch keinen Laufzeitcode aus meiner Bibliothek .

Viele Posts, die ich gelesen habe, zeigen, wie dies mit zusätzlichen COD-Dateien für die Bibliothek getan werden kann. Ich möchte das vermeiden.

Wie kann ich ein JAR ohne externe Abhängigkeiten in mein Projekt einbinden, indem ich Ant verwende? Ich glaube, das ist möglich, weil ich es mit Eclipse machen kann.

Abhilfe

Meine aktuelle Problemumgehung besteht darin, mein SDK / Bibliotheksprojekt als Quellcode ( gemäß der Antwort von esaj unten ) einzuschließen als eine JAR-Datei. Dies hat einige Nachteile gegenüber dem JAR-Ansatz, aber ich habe einen Build, der erfolgreich auf dem Gerät ausgeführt wird.

(Ich hoffe, es ist in Ordnung, diese Frage mit der folgenden langen Liste von Links zu referenzieren?)

StackOverflow-Links:

Dieser gibt andere Links - ganz nützlich:

Diese nicht so nützlich:

RIM:

Richard Le Mesurier 14.05.2012, 11:30
quelle

2 Antworten

4

Haben Sie versucht, auf die Bibliothek im Abschnitt src unter rapc zu zeigen?

ZB:

%Vor%     
bobbydavros 17.05.2012, 10:36
quelle
1

Ich hatte letztes Jahr ein ähnliches Problem, ich hatte ein "Framework" erstellt, das als Basis für mehrere BB-Anwendungen verwendet wurde, aber mit mehreren CODs Probleme hatte (ich erinnere mich nicht genau, wie das Gerät) hat sich geweigert, mehrere Anwendungen zu installieren, die dieselben externen Codierungen hatten, wenn die externen CODs nicht zuerst separat installiert wurden, und dann die Anwendungen). Da die Anwendungen separat installiert werden können (eine Person installiert möglicherweise nur App A, eine andere Installation nur App B und eine andere Installation von A und B), muss das gesamte Framework in allen Apps enthalten sein. Ich habe dieses Ant-Skript mit bb-ant-tools ausgearbeitet (hoffentlich habe ich nichts kaputt gemacht, was einige unserer Apps entfernt und Paketnamen verschleiert):

%Vor%

Damit kopieren Sie alle Java-Dateien und Ressourcen aus Ihrem aktuellen Projekt und dann aus dem Framework-Projekt in ein temporäres Verzeichnis und ersetzen Paketnamen auf dem Weg zu den Frame-Arbeitsdateien (so wie sie sind) in ein separat benanntes Verzeichnis), hat dies damit zu tun, dass die Geräte auch die Installation mehrerer Anwendungen verweigerten, die dieselben Klassen unter gleichen Paketen hatten (nämlich die Framework-Klassen, für Ihren Fall ist dies möglicherweise nicht notwendig). Nachdem das Kopieren und Ersetzen abgeschlossen ist, wird die Anwendung erstellt, um das Build-Verzeichnis unter Verwendung von rapc zu targetieren. Es gibt separate Aufgaben zum Signieren, Bereinigen und Laden der App in einen Simulator. Hoffe, das hilft.

    
esaj 17.05.2012 11:31
quelle

Tags und Links