Ich benutze AndroidStudio und habe dieses Projekt wie folgt:
Was sich innerhalb des blauen Kreises befindet, ist myLib. myLib muss außerdem eine externe Bibliothek verwenden, die sich innerhalb des roten Kreises befindet, und ein Apache-Paket (grüner Kreis).
Also möchte ich diese ganze Sache zu einer einzigen .jar machen, damit ich sie in anderen Projekten verwenden kann.
Eine Schritt-für-Schritt-Anleitung wäre sehr dankbar, ich bin ein Anfänger in der Entwicklerwelt.
Vielen Dank!
java
android
jar
android-studio
dum4ll3
quelle
quelle
Antworten:
Öffnen Sie build.gradle für das Bibliotheksprojekt
Schreiben Sie zwei Aufgaben in build.gradle - deleteJar und createJar und fügen Sie die Regel createJar.dependsOn hinzu (deleteJar, build)
Der Code von oben:
Erweitern Sie das Gradle-Bedienfeld von rechts und öffnen Sie alle Aufgaben unter Ihrer Bibliothek-> Andere. Dort sehen Sie zwei neue Aufgaben - createJar und deleteJar
Doppelklicken Sie auf createJar
Sobald die Aufgabe erfolgreich ausgeführt wurde, rufen Sie Ihr generiertes JAR aus dem in createJar task, dh libs / xxxx.jar, angegebenen Pfad ab
Kopieren Sie das neu generierte JAR in den lib-Ordner Ihres gewünschten Projekts -> Rechtsklick -> Wählen Sie "Als Bibliothek hinzufügen".
quelle
release
. Ich habedebug
unddefault
, aber keinenrelease
Ordner. Welche Version des Plugins verwenden Sie? Wissen Sie, ob dies irgendwo dokumentiert ist?release
Ordner.Wenn Sie den Code in Gradle als einfaches Java-Modul einrichten, ist es wirklich einfach, dass Gradle Ihnen eine JAR-Datei mit dem Inhalt zur Verfügung stellt. Diese JAR-Datei enthält nur Ihren Code, nicht die anderen Apache-Bibliotheken, von denen sie abhängt. Ich würde empfehlen, es auf diese Weise zu verteilen. Es ist etwas seltsam, Abhängigkeiten in Ihrer Bibliothek zu bündeln, und es ist normaler, dass Benutzer dieser Bibliotheken diese Abhängigkeiten selbst einbeziehen müssen (da es sonst zu Kollisionen dieser Projekte kommt, die bereits Kopien der Bibliothek verknüpfen, möglicherweise verschiedener Versionen ). Darüber hinaus vermeiden Sie potenzielle Lizenzprobleme bei der Neuverteilung des Codes anderer Personen, wenn Sie Ihre Bibliothek veröffentlichen.
Nehmen Sie den Code, der ebenfalls kompiliert werden muss, in ein JAR und verschieben Sie ihn in ein separates einfaches Java-Modul in Android Studio:
Hoffentlich sollte Ihr Projekt jetzt normal aufgebaut werden. Nach dem Erstellen wird eine JAR-Datei für Ihre Java-Bibliothek im Verzeichnis build / libs im Verzeichnis Ihres Moduls abgelegt . Wenn Sie die JAR-Datei von Hand erstellen möchten, können Sie die JAR- Build-Datei-Aufgabe im Gradle-Fenster ausführen :
quelle
Greifen Sie in der Android Studio-IDE auf die Leiste " Alles ausführen " zu, indem Sie:
CTRL+ CTRL+
gradle CreateFullJarRelease
+ENTERDanach finden Sie Ihr Artefakt in diesem Ordner in Ihrem Projekt
Build > Intermediates > Full_jar > Release > CreateFullJarRelease > full.jar
ODER
Gradle hat dafür bereits ein
Task
im Gradle- Seitenmenü unter demother
Ordner.Scrollen Sie dann nach unten
createFullJarRelease
und klicken Sie darauf.Danach finden Sie Ihr Artefakt in diesem Ordner in Ihrem Projekt
Build > Intermediates > Full_jar > Release > CreateFullJarRelease > full.jar
quelle
build\intermediates\intermediate-jars\release
classes.jar
,full.jar
Undres.jar
. Sollte ich alle JAR-Dateien importieren, wann immer ich sie verwenden möchte?Fügen Sie dies einfach dem build.gradle Ihres Java-Moduls hinzu. Es werden abhängige Bibliotheken in das Archiv aufgenommen.
Dies führt zur Datei [Modulname] / build / libs / [Modulname] .jar.
quelle
Die JAR-Datei wird automatisch generiert, wenn Sie Ihre Anwendung kompilieren / ausführen.
Sie finden Ihre class.jar-Datei unter root_folder / app / build / intermediates / bundles / debug
quelle
Gehen Sie in Android Studio zur Registerkarte Gradle und wählen Sie dann Bibliotheksprojekt aus.
Gehen Sie dann zu Aufgaben
Dann gehe zu Andere
Doppelklicken Sie auf bundleReleaseaar
Sie finden Ihre
.aar
Dateien unteryour_module/build/outputs/aar/your-release.aar
quelle
.jar
nicht macht.aar
Ich fand die Ausgabe des Projekt-Compilers (Projektstruktur> Projekt). Suchen Sie dann den entsprechenden Ordner des Moduls, das Sie in ein Glas verwandeln möchten, komprimieren Sie es mit zip und ändern Sie die Erweiterung der Ausgabe von zip in jar.
quelle
quelle
Wenn Sie eine Gradle-Aufgabe von AndroidStudio aus ausführen [Mehr]
oder über Terminal
dann finden Sie
.aar
in.aar
Die Datei (Android Library) besteht aus einer Datei.jar
(Java Library) und zusätzlichen Android-Ressourcen..aar
Datei ist eine ZIP - Datei mit AAR - Erweiterung , die ist , warum Sie ersetzen können.aar
mit.zip
oder Laufquelle