Kotlin DSL jest domyślnym językiem w przypadku konfiguracji kompilacji
Nowe projekty domyślnie używają teraz do konfiguracji kompilacji języka DSL w Kotlinie (build.gradle.kts). Dzięki temu edytowanie jest łatwiejsze niż w przypadku Groovy DSL (build.gradle) i zawiera podświetlanie składni, uzupełnianie kodu i przechodzenie do deklaracji. Pamiętaj, że jeśli używasz AGP 8.1 i Kotlin DSL do konfiguracji kompilacji, dla najlepszej wydajności powinieneś użyć Gradle 8.1. Więcej informacji znajdziesz w przewodniku po migracji kodu Kotlin DSL.
Automatyczna obsługa języka według aplikacji
Począwszy od wersji Giraffe Canary 7 Android Studio i AGP 8.1.0-alpha07 możesz skonfigurować aplikację tak, aby automatycznie obsługiwała ustawienia języka na poziomie aplikacji. Na podstawie zasobów projektu wtyczka Androida do obsługi Gradle generuje plik LocaleConfig i dodaje do niego odwołanie w pliku manifestu końcowego, dzięki czemu nie musisz już tego robić ręcznie. AGP korzysta z zasobów w folderach res w modułach aplikacji oraz z zależnych modułów bibliotek, aby określić języki, które mają się znaleźć w pliku LocaleConfig.
Pamiętaj, że funkcja automatycznego tłumaczenia języka w aplikacji obsługuje aplikacje na Androida w wersji 13 (poziom API 33) lub nowszej. Aby korzystać z tej funkcji, musisz ustawić parametr compileSdkVersion na 33 lub wyższy. Aby skonfigurować ustawienia języka według aplikacji w poprzednich wersjach Androida, musisz nadal 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ślny język:
W folderze res modułu aplikacji utwórz nowy plik o nazwie resources.properties.
W pliku resources.properties ustaw domyślny język za pomocą etykiety unqualifiedResLocale. Aby utworzyć nazwy języków, połącz kod języka z opcjonalnymi kodami pisma i regionów, oddzielając je kreską:
Język: użyj dwu- lub trzyliterowego kodu ISO 639-1.
Jeśli na przykład domyślnym językiem jest angielski (USA):
unqualifiedResLocale=en-US
AGP dodaje ten domyślny region oraz wszystkie alternatywne regiony, które zostały określone przez Ciebie za pomocą 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 {} w pliku build.gradle.kts na poziomie modułu (plik build.gradle, jeśli używasz Groovy):
Android Lint zawiera kod bajtowy kierowany na JVM 17
Począwszy od wersji AGP 8.1.0-alpha04 Android Lint zawiera kod bajtowy kierowany do JVM 17. Jeśli piszesz niestandardowe kontrole lint, musisz skompilować kod za pomocą JDK 17 lub nowszej wersji i w opcjach kompilatora Kotlin określić parametr jvmTarget = '17'.
Ustawienie kompresji bibliotek natywnych zostało przeniesione do DSL
Od wersji AGP 8.1.0-alpha10 w przypadku braku skonfigurowania kompresji biblioteki natywnej za pomocą DSL zamiast pliku manifestu wyświetlane jest ostrzeżenie. Z tych wskazówek dowiesz się, jak zaktualizować konfigurację, aby korzystać z DSL. Aby uzyskać pomoc w przeprowadzaniu tych aktualizacji, skorzystaj z asystenta uaktualniania AGP (Narzędzia > Asystent uaktualniania AGP).
Aby używać nieskompresowanych bibliotek natywnych, usuń atrybut android::extractNativeLibs z pliku manifestu i dodaj do pliku build.gradle.kts na poziomie modułu (plik build.gradle, jeśli używasz Groovy) następujący kod:
Włączenie tej opcji bez określonej konfiguracji podpisywania spowoduje, że AGP użyje domyślnej konfiguracji podpisywania podczas uruchamiania wersji z możliwością profilowania lub debugowania. Ten parametr jest domyślnie wyłączony, aby zachęcić autorów kompilacji do deklarowania konkretnych konfiguracji podpisywania profilowania.
android.experimental.library.desugarAndroidTest
AGP 8.0
false
Ten parametr umożliwia twórcom bibliotek włączanie desugaringu biblioteki podstawowej w przypadku testowych plików APK bez wpływu na wygenerowany plik AAR, na przykład poprzez linting.
W przyszłości planujemy wprowadzić obsługę tego zachowania w interfejsie Variant API.
Jeśli ta opcja jest włączona, Gradle Managed Devices umożliwia użycie przez użytkownika niestandardowego typu urządzenia, który może być udostępniany przez wtyczkę. Ta flaga musi być włączona, jeśli chcesz używać wtyczki Laboratorium testów Firebase.
android.lint.printStackTrace
AGP 8.0
false
Jeśli ta opcja jest włączona, Android Lint wypisuje ślad stosu w przypadku awarii. Ten parametr ma te same możliwości co zmienna środowiskowa LINT_PRINT_STACKTRACE.
Określa maksymalną liczbę jednoczesnych urządzeń zarządzanych przez Gradle (AVD), które mogą być aktywne w danym momencie. Jeśli wartość jest równa 0 lub ujemna, nie ma maksymalnej liczby urządzeń.
Błąd: opcja „Enable KSP and use the KSP processor for this dependency instead” (Włącz KSP i użyj procesora KSP dla tej zależności) prowadzi tylko do strony internetowej
TypedArray#close (interfejs API 31) nie został odsłodzony, ale AS nie wyświetla ostrzeżenia, gdy metoda jest używana w ramach instrukcji try-with-resources
[AGP 8.1.0] ./gradlew test fails with "Unable to find manifest output" if both splits.abi.isEnable and testOptions.unitTests.isIncludeAndroidResources are true
[AGP 8.1.0] ./gradlew test fails with "Unable to find manifest output" if both splits.abi.isEnable and testOptions.unitTests.isIncludeAndroidResources are true
Nie uruchamiaj zadania dekompilacji w przypadku klas w podprojektach, które zostały już zdekompilowane w ramach przekształceń artefaktów
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: 2024-12-03 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: 2024-12-03 UTC."],[],[]]