Zbudowałem pakiet biblioteki dla systemu Android (aar), a wynik kompilacji jest tworzony w folderze „.. \ app \ build \ output \ aar”. Plik w tym folderze nazywa się „app-debug.aar”, więc myślę, że został zbudowany w trybie debugowania, więc chciałbym wiedzieć, jak wygenerować zbudowaną wersję, czyli „app-release.aar”. Jak mogę to zrobić? Czy można również wygenerować kompilację z inną niestandardową nazwą, na przykład „myCustomAppName-release.aar” zamiast „app-release.aar”.
81
Odpowiedzi:
W Android Studio 1.2+ dostępne jest pełne
gradle
menu z listą wszystkich dostępnychgradle
zadań.Znalazłem to menu po prawej stronie IDE z włączonymi domyślnymi opcjami.
Kliknij prawym przyciskiem żądane zadanie i kliknij „Uruchom”.
źródło
assemble
zadanie, zastosuje ono wszelkie reguły progaurów, które zdefiniowałeś w swoim projekcie.Zmierzyłem się z tym problemem w AS 2.3.3 i rozwiązałem go, zmieniając wariant kompilacji modułu na wydanie i budując go ponownie:
źródło
Ten problem można już rozwiązać za pomocą odpowiedzi, takich jak wykonaj
lub wybierz assembleRelease z menu Gradle w Android Studio . Jednak dla kompletności, w Android Studio 1.5.1 (i prawdopodobnie także starszych wersjach) można zbudować wersję .aar w wersji do wydania, wybierając Build -> „Build APK” w Android Studio . Wydaje się, że wykonuje assembleRelease. Jeśli Twój projekt zawiera tylko projekt biblioteki, nie prosi o żadne informacje dotyczące podpisu.
źródło
1. dodaj następujący skrypt do tagu {} systemu Android w pliku build.gradle, aby wygenerować kompilację wydania:
signingConfigs { testConfig{ storeFile file("X:/XXXX/yourkeystore") storePassword "yourKeyPassword" keyAlias "yourAlias" keyPassword "yourAliasPassword" } } buildTypes{ release { signingConfig signingConfigs.testConfig minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
2. uruchom polecenie „gradle clean build” w linii poleceń.
źródło
Dzięki Android Studio 3.0 łatwiej jest wygenerować plik AAR. Z opcji Gradle, sprawdź opcję, jak pokazano na rysunku
źródło
Możesz użyć wiersza poleceń
./gradlew <moduleName>:assemble ./gradlew <moduleName>:assemble<build_variant> //for example ./gradlew <moduleName>:assembleRelease //or ./gradlew <moduleName>:bundle<build_variant>Aar //for example ./gradlew <moduleName>:bundleReleaseAar
//output is located <project_path>/build/outputs/aar/<module_name>-<build_variant>.aar
Alternatywnie możesz użyć interfejsu użytkownika AndroidStudio
źródło
./gradlew <moduleName>:assemble<build_variant>
i./gradlew <moduleName>:bundle<build_variant>Aar
?Skonfiguruj swój projekt jako bibliotekę systemu Android
W
build.gradle
pliku:plugin: 'com.android.library'
Możesz zobaczyć dane wyjściowe w:
build/outputs/aar/[your module].
Zobacz także to łącze
źródło
Kolejne 2-częściowe pytanie, w którym nikt nie odpowiada na drugą część ...
Oto proste odpowiedzi dla przyszłych pokoleń:
Część 1 Jak stworzyć tylko wydanie
*release.aar
?Uruchom w Android Studio
terminal
(lub dowolnym terminalu w folderze projektu):Nie musisz podpisywać konfiguracji do takiego zadania.
Część 2 Jak zmienić nazwę biblioteki wyjściowej na
AnotherLibraryName-release.aar
?Dodaj do swojego modułu
gradle.build
:android{ project.archivesBaseName = "AnotherLibraryName" }
źródło
dla mnie po prostu naprawienie błędu układu w bibliotece, który nie powodował błędu kompilacji (brak wtyczki androidx), naprawił go i
<lib>-release.aar
pojawił się obok folderu<lib>-debug.aar
inbuild/outputs/aar/
.źródło