Ich habe einige Bibliotheksquellen heruntergeladen und möchte sie mit Android Studio als Jar-Datei exportieren. Gibt es eine Möglichkeit, mit Android Studio in eine JAR-Datei zu exportieren?
bearbeiten:
Die Bibliothek, die ich als JAR exportieren möchte, ist eine Android-Bibliothek. Es heißt "StandOut" und kann von GitHub heruntergeladen werden. https://github.com/pingpongboss/StandOut
android
android-studio
Salbei Pourpre
quelle
quelle
Antworten:
Es ist nicht möglich, eine Android-Bibliothek als JAR-Datei zu exportieren. Es ist jedoch möglich, es als
aar
Datei zu exportieren .Aar
Dateien sind das neue Binärformat für Android-Bibliotheken. Informationen dazu finden Sie in Google I / O, dem Video zum neuen Build-System .Erstellen Sie die Bibliothek zunächst in Android Studio oder über die Befehlszeile, die
gradle build
aus dem Stammverzeichnis Ihrer Bibliothek ausgegeben wird.Dies führt zu einer
<yourlibroot>/libs/build/yourlib.aar
Datei.Diese aar-Datei ist eine binäre Darstellung Ihrer Bibliothek und kann anstelle der Bibliothek als Abhängigkeitsprojekt zu Ihrem Projekt hinzugefügt werden.
Um eine AAR-Datei als Abhängigkeit hinzuzufügen, müssen Sie sie in der Maven-Zentrale oder in Ihrem lokalen Maven-Repository veröffentlichen und dann auf die AAR-Datei in der Datei Ihres Projekts verweisen
gradle.build
.Dieser Schritt ist jedoch etwas kompliziert. Ich habe hier eine gute Erklärung dafür gefunden:
http://www.flexlabs.org/2013/06/using-local-aar-android-library-packages-in-gradle-builds
quelle
Ich konnte einen Bibliotheksquellcode für eine kompilierte
.jar
Datei mithilfe des Ansatzes dieser Lösung erstellen: https://stackoverflow.com/a/19037807/1002054Hier ist die Aufschlüsselung dessen, was ich getan habe:
1. Checkout-Bibliotheks-Repository
Im Mai war es eine Volley-Bibliothek
2. Importieren Sie die Bibliothek in Android Studio.
Ich habe Android Studio 0.3.7 verwendet. Während dieses Schritts sind einige Probleme aufgetreten, nämlich, dass ich einen
gradle
Ordner aus einem neuen Android-Projekt kopieren musste, bevor ich den Quellcode der Volley-Bibliothek importieren konnte. Dies kann je nach verwendetem Quellcode variieren.3. Ändern Sie Ihre
build.gradle
Datei4. Führen Sie den
gradlew makeJar
Befehl von Ihrem Projektstamm aus.Ich mein Fall hatte ich zu kopieren
gradlew.bat
undgradle
Dateien von neuem Android - Projekt in meine Bibliothek Projektstamm. Sie sollten Ihre kompilierte BibliotheksdateimyCompiledLibrary.jar
imbuild\libs
Verzeichnis finden.Ich hoffe, jemand findet das nützlich.
Bearbeiten:
Vorbehalt
Obwohl dies funktioniert, treten beim Kompilieren eines Projekts mit mehreren Modulen doppelte Bibliotheksausnahmen auf, bei denen mehr als ein Modul (einschließlich Anwendungsmodul) von derselben
jar
Datei abhängt (z. B. haben Module ein eigenes Bibliotheksverzeichnis, auf das in einembuild.gradle
bestimmten Modul verwiesen wird). .Wenn Sie eine einzelne Bibliothek in mehr als einem Modul verwenden müssen, würde ich diesen Ansatz empfehlen: Android Gradle Build und die Support-Bibliothek
quelle
res
Ordner möchten , ist eine AAR-Datei genau das - eine JAR-Datei mitres
Ordnerunterstützung.Seit Android Studio V1.0 ist die JAR-Datei unter folgendem Projektlink verfügbar:
Debug-Version: "your_app" \ build \ intermediates \ bundles \ debug \ classes.jar
Release-Version: "your_app" \ build \ intermediates \ bundles \ release \ classes.jar
Die JAR-Datei wird während der Erstellungsprozedur erstellt. In der Android Studio-Benutzeroberfläche ist sie von Build-> Make Project und von der CMD-Zeile "gradlew build".
quelle
Fügen Sie Folgendes in build.gradle ein:
Sie können dann gradle mit: ausführen, wodurch
./gradlew clean javadocRelease jarRelease
Sie Ihr Jar und auch ein Javadoc-Jar in denbuild/libs/
Ordner einbauen .BEARBEITEN : Mit Android Gradle Tools 1.10. + Ist das Abrufen des Android SDK-Verzeichnisses anders als zuvor. Sie müssen Folgendes ändern (danke Vishal!):
anstatt
quelle
Mit diesem Tutorial konnte ich eine JAR-Datei in Android Studio exportieren: https://www.youtube.com/watch?v=1i4I-Nph-Cw "So exportieren Sie JAR aus Android Studio"
Ich habe meine Antwort aktualisiert und alle Schritte zum Exportieren einer JAR in Android Studio aufgenommen:
1) Erstellen Sie ein Android-Anwendungsprojekt und gehen Sie zu app-> build.gradle
2) Ändern Sie Folgendes in dieser Datei:
Ändern Sie das Anwendungs-Plugin: 'com.android.application' , um das Plugin anzuwenden: 'com.android.library'
Entfernen Sie Folgendes: applicationId, versionCode und versionName
Fügen Sie den folgenden Code hinzu:
3) Vergessen Sie nicht, jetzt in dieser Datei auf " Synchronisieren" zu klicken (oben rechts oder mit der Schaltfläche "Synchronisieren").
4) Klicken Sie auf die Registerkarte Gradle (normalerweise Mitte rechts) und scrollen Sie nach unten zum Exportjar
5) Sobald Sie die Meldung " Erfolgreich erstellen" im Ausführungsfenster sehen, wechseln Sie mit dem normalen Datei-Explorer zum exportierten JAR unter dem folgenden Pfad: C: \ Benutzer \ Name \ AndroidStudioProjects \ Projektname \ App \ Release. In diesem Verzeichnis sollte Ihre JAR-Datei angezeigt werden.
Viel Glück :)
quelle
Hier ist noch eine andere, etwas andere Antwort mit ein paar Verbesserungen.
Dieser Code nimmt die .jar direkt aus der .aar. Persönlich gibt mir das ein bisschen mehr Vertrauen, dass die Bits, die über .jar versendet werden, die gleichen sind wie die, die über .aar versendet werden. Dies bedeutet auch, dass bei Verwendung von ProGuard das Ausgabeglas wie gewünscht verschleiert wird.
Ich habe auch eine super "makeJar" -Aufgabe hinzugefügt, die Jars für alle Build-Varianten erstellt.
Für den neugierigen Leser hatte ich Mühe, die richtigen Variablen und Parameter zu ermitteln, mit denen das Plugin com.android.library .aar-Dateien benennt. Ich habe sie endlich im Android Open Source Projekt hier gefunden .
quelle
Wir können eine JAR-Datei für ein Android-Bibliotheksprojekt ohne Ressourcendateien von Android Studio exportieren. Es ist auch Voraussetzung, was ich kürzlich getroffen habe.
1. Konfigurieren Sie Ihre build.gradle-Datei
2. Führen Sie gradlew makeJar unter Ihrem Projektstamm aus
Sie werden Ihre Bibliotheken unter dir als build / libs / sehen, wenn Sie Glück haben.
================================================== ==========
Wenn Sie das Problem als "Socket-Timeout-Ausnahme" in der Befehlszeile wie folgt festgestellt haben,
Sie können diese Schritte ausführen, um das Gradle-Fenster im rechten Teil zu öffnen und in Android Studio wie folgt auf "makeJar" zu klicken.
Gehen Sie dann zu build / libs dir, Sie werden Ihre JAR-Datei sehen.
Hoffe, dass es für dich hilfreich ist.
Viel Glück @.@
Luna
quelle