Kotlin DSL jest domyślnym językiem konfiguracji kompilacji
W nowych projektach do konfiguracji kompilacji domyślnie używany jest język Kotlin DSL (build.gradle.kts). Zapewnia to lepsze wrażenia podczas edytowania niż Groovy DSL (build.gradle) dzięki wyróżnianiu składni, uzupełnianiu kodu i nawigacji do deklaracji. Jeśli używasz AGP 8.1 i Kotlin DSL do konfiguracji kompilacji, dla najlepszych wrażeń zalecamy używanie Gradle 8.1. Więcej informacji znajdziesz w przewodniku po migracji do Kotlin DSL.
Automatyczna obsługa języka według aplikacji
Od wersji Androida Studio Giraffe Canary 7 i AGP 8.1.0-alpha07 możesz automatycznie skonfigurować aplikację tak, aby obsługiwała ustawienia języka poszczególnych aplikacji. Na podstawie zasobów projektu wtyczka Androida do obsługi Gradle generuje plik LocaleConfig i dodaje do niego odwołanie w końcowym pliku manifestu, więc nie musisz już tego robić ręcznie. AGP korzysta z zasobów w folderach res modułów aplikacji i wszelkich zależności modułów biblioteki, aby określić, które ustawienia regionalne mają być uwzględnione w pliku LocaleConfig.
Pamiętaj, że funkcja automatycznego ustawiania języka dla poszczególnych aplikacji obsługuje aplikacje działające na Androidzie 13 (API na poziomie 33) lub nowszym. Aby korzystać z tej funkcji, musisz ustawić wartość parametru
compileSdkVersion na 33 lub wyższą. Aby skonfigurować wybór języka według aplikacji w starszych wersjach Androida, nadal musisz używać interfejsów API i selektorów języka w aplikacji.
Aby włączyć automatyczne obsługiwanie języka w poszczególnych aplikacjach, określ domyślne ustawienia regionalne:
W folderze res modułu aplikacji utwórz nowy plik o nazwie resources.properties.
W pliku resources.properties ustaw domyślne ustawienia regionalne za pomocą etykiety unqualifiedResLocale. Aby utworzyć nazwy ustawień regionalnych, połącz kod języka z opcjonalnymi kodami skryptu i regionu, oddzielając je myślnikiem:
Jeśli na przykład domyślnym językiem jest angielski (Stany Zjednoczone):
unqualifiedResLocale=en-US
AGP dodaje ten domyślny region i wszystkie określone przez Ciebie regiony alternatywne, korzystając z katalogów values-* w folderze res, do automatycznie wygenerowanego pliku LocaleConfig.
Automatyczna obsługa języka w poszczególnych aplikacjach jest domyślnie wyłączona. Aby włączyć tę funkcję, użyj ustawienia generateLocaleConfig w bloku androidResources {} pliku build.gradle.kts na poziomie modułu (pliku build.gradle, jeśli używasz Groovy):
Android Lint zawiera kod bajtowy przeznaczony dla JVM 17
Od wersji AGP 8.1.0-alpha04 narzędzie Android Lint zawiera kod bajtowy przeznaczony dla JVM 17. Jeśli piszesz niestandardowe testy lint, musisz skompilować je za pomocą JDK 17 lub nowszej wersji i określić jvmTarget = '17' w opcjach kompilatora Kotlin.
Ustawienie kompresji biblioteki natywnej przeniesione do DSL
Od wersji AGP 8.1.0-alpha10 będziesz otrzymywać ostrzeżenie, jeśli nie skonfigurujesz kompresji biblioteki natywnej za pomocą DSL zamiast pliku manifestu. Poniższe wskazówki wyjaśniają, jak zaktualizować konfigurację, aby używać DSL. Aby uzyskać pomoc w wprowadzaniu tych zmian, użyj Asystenta uaktualniania AGP (Narzędzia > Asystent uaktualniania AGP).
Aby używać nieskompresowanych bibliotek natywnych, usuń atrybut android::extractNativeLibs z pliku manifestu i dodaj poniższy kod do pliku build.gradle.kts na poziomie modułu (build.gradle, jeśli używasz Groovy):
Włączenie tej opcji bez określania konfiguracji podpisywania powoduje, że AGP używa domyślnej konfiguracji podpisywania debugowania podczas uruchamiania kompilacji z możliwością profilowania lub debugowania. Ta flaga jest domyślnie wyłączona, aby zachęcić autorów kompilacji do deklarowania konkretnych konfiguracji podpisywania profilowania.
android.experimental.library.desugarAndroidTest
AGP 8.0
false
Ta flaga umożliwia twórcom bibliotek włączenie desugaryzacji biblioteki podstawowej w przypadku testowych plików APK bez wpływu na wygenerowany plik AAR, np. przez linting.
W przyszłości planujemy wprowadzić obsługę tego działania w interfejsie Variant API.
Jeśli ta opcja jest włączona, zarządzane urządzenia Gradle umożliwiają zdefiniowanie przez użytkownika niestandardowego typu urządzenia, który może być dostarczony przez wtyczkę. Ta flaga musi być włączona, jeśli chcesz używać wtyczki Laboratorium Firebase.
android.lint.printStackTrace
AGP 8.0
false
Jeśli ta opcja jest włączona, w przypadku awarii narzędzie Android Lint wyświetli ślad stosu. Ten flag
ma takie same możliwości jak zmienna środowiskowa LINT_PRINT_STACKTRACE.
Określa maksymalną liczbę równoczesnych urządzeń zarządzanych przez Gradle (AVD), które mogą być aktywne w danym momencie. Jeśli wartość wynosi 0 lub jest ujemna, nie ma maksymalnej liczby urządzeń.
[AGP 8.1.0] ./gradlew test kończy się niepowodzeniem z błędem „Unable to find manifest output”, jeśli zarówno splits.abi.isEnable, jak i testOptions.unitTests.isIncludeAndroidResources mają wartość true
[AGP 8.1.0] ./gradlew test kończy się niepowodzeniem z błędem „Unable to find manifest output”, jeśli zarówno splits.abi.isEnable, jak i testOptions.unitTests.isIncludeAndroidResources mają wartość true
R8 kończy się niepowodzeniem z błędem „Undefined value encountered during compilation” (Wykryto niezdefiniowaną wartość podczas kompilacji) w przypadku pliku play-services-measurement-21.3.0-runtime.jar
Aplikacja ulega awarii z błędem weryfikacji na urządzeniach z Androidem 12 lub nowszym
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-09-29 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-09-29 UTC."],[],[],null,[]]