Używam AndroidStudio i mam ten projekt, jak pokazano:
To, co znajduje się wewnątrz niebieskiego koła, to myLib. myLib musi również korzystać z zewnętrznej biblioteki znajdującej się w czerwonym kółku i pakietu Apache (zielone kółko).
Dlatego chcę, aby całość stała się pojedynczym plikiem .jar, aby móc go używać w innych projektach.
Przewodnik krok po kroku byłby naprawdę mile widziany, jestem początkującym w świecie programistów.
Dzięki!
java
android
jar
android-studio
dum4ll3
źródło
źródło
Odpowiedzi:
Otwórz plik build.gradle dla projektu biblioteki
Napisz dwa zadania w build.gradle - deleteJar i createJar oraz dodaj regułę createJar.dependsOn (deleteJar, build)
Kod z góry:
Rozwiń panel ocen od prawej i otwórz wszystkie zadania w swojej bibliotece-> inne. Zobaczysz tam dwa nowe zadania - createJar i deleteJar
Kliknij dwukrotnie plik createJar
Po pomyślnym uruchomieniu zadania pobierz wygenerowany plik jar ze ścieżki wymienionej w zadaniu createJar, tj. Libs / xxxx.jar
skopiuj nowo wygenerowany plik jar do folderu lib wymaganego projektu -> kliknij prawym przyciskiem myszy -> wybierz „dodaj jako bibliotekę”
źródło
release
. Mamdebug
idefault
, ale nie mamrelease
folderu. Jakiej wersji wtyczki używasz? Czy wiesz, czy jest to gdzieś udokumentowane?release
folderu.Jeśli skonfigurujesz kod jako zwykły moduł Java w Gradle, to naprawdę łatwo jest poprosić Gradle o przekazanie pliku jar z zawartością. Ten plik jar będzie zawierał tylko twój kod, a nie inne biblioteki Apache, od których zależy. Zalecałbym dystrybucję w ten sposób; trochę dziwne jest pakowanie zależności w twojej bibliotece i bardziej normalne jest, że użytkownicy tych bibliotek muszą włączać te zależności samodzielnie (ponieważ w przeciwnym razie istnieją kolizje tych projektów, które już łączą kopie biblioteki, być może różnych wersji ). Co więcej, unikniesz potencjalnych problemów licencyjnych związanych z redystrybucją kodu innych osób, jeśli będziesz publikować swoją bibliotekę.
Weź kod, który również musi zostać skompilowany, do jar i przenieś go do oddzielnego, zwykłego modułu Java w Android Studio:
Mam nadzieję, że Twój projekt powinien teraz budować się normalnie. Po wykonaniu kompilacji plik jar dla biblioteki Java zostanie umieszczony w katalogu build / libs w katalogu modułu. Jeśli chcesz ręcznie zbudować plik jar, możesz uruchomić jego zadanie budowania pliku jar z okna Gradle:
źródło
W Android Studio IDE dostęp do paska „ Run Anything ” można uzyskać:
CTRL+ CTRL+
gradle CreateFullJarRelease
+ENTERNastępnie znajdziesz swój artefakt w tym folderze w swoim projekcie
Build > Intermediates > Full_jar > Release > CreateFullJarRelease > full.jar
LUB
Gradle ma już
Task
do tego w bocznym menu Gradle , podother
folderem.Następnie przewiń w dół
createFullJarRelease
i kliknij go.Następnie znajdziesz swój artefakt w tym folderze w swoim projekcie
Build > Intermediates > Full_jar > Release > CreateFullJarRelease > full.jar
źródło
build\intermediates\intermediate-jars\release
classes.jar
,full.jar
ires.jar
. Czy powinienem importować wszystkie pliki jar, kiedy chcę ich użyć?Po prostu dodaj to do pliku build.gradle modułu Java. Zawiera biblioteki zależne w archiwum.
Spowoduje to utworzenie pliku [nazwa_modułu] / build / libs / [nazwa_modułu] .jar.
źródło
Plik .jar zostanie automatycznie wygenerowany podczas kompilacji / uruchomienia aplikacji.
Możesz znaleźć swój plik class.jar w folderze root_folder / app / build / interactates / bundles / debug
źródło
Przejdź do zakładki Gradle w Android Studio, a następnie wybierz projekt biblioteki.
Następnie przejdź do Zadań
Następnie przejdź do Inne
Kliknij dwukrotnie bundleReleaseaar
Możesz znaleźć swoje
.aar
pliki podyour_module/build/outputs/aar/your-release.aar
źródło
.jar
nie robić.aar
Znalazłem sposób, w jaki znalazłem dane wyjściowe kompilatora projektu (struktura projektu> projekt). następnie znajdź zgodny folder modułu, który chcesz zamienić na jar, skompresuj go za pomocą zip i zmień rozszerzenie pliku wyjściowego z zip na jar.
źródło
źródło
Jeśli uruchamiasz zadanie Gradle z AndroidStudio [Więcej]
lub przez terminal
wtedy będziesz mógł znaleźć
.aar
w.aar
Plik (Biblioteka systemu Android) składa się z pliku.jar
(Biblioteki Java) i dodatkowych zasobów systemu Android..aar
jest to plik zip z aar przedłużenie dlatego można zastąpić.aar
z.zip
lub runźródło