Mechanizm JavaScript
Najnowsza aktualizacja | Wersja stabilna | Kandydat do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
1 listopada 2023 roku | - | - | 1.0.0-beta01 | - |
Deklarowanie zależności
Aby dodać zależność od JavaScriptEngine, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.
W pliku build.gradle
aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:
Odlotowe
dependencies { implementation "androidx.javascriptengine:javascriptengine:1.0.0-beta01" }
Kotlin
dependencies { implementation("androidx.javascriptengine:javascriptengine:1.0.0-beta01") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.0
Wersja 1.0.0-beta01
1 listopada 2023 roku
Aplikacja androidx.javascriptengine:javascriptengine:1.0.0-beta01
została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
- Brak zmian od
1.0.0-alpha07
Wersja 1.0.0-alfa07
18 października 2023 r.
Aplikacja androidx.javascriptengine:javascriptengine:1.0.0-alpha07
została zwolniona. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.
Nowe funkcje
- Wprowadzenie nowego interfejsu API, który umożliwia aplikacjom rejestrowanie wywołań zwrotnych w celu obsługi izolowanych awarii.
Zmiany w interfejsie API
- Zmień nazwę społeczności
DEFAULT_MAX_HEAP_SIZE
naAUTOMATIC_MAX_HEAP_SIZE
. (I6d303) - Zmień nazwę społeczności
FileDescriptorIoException
naDataInputException
. (Iba4eb) - Zmień nazwę społeczności
DEFAULT_ISOLATE_HEAP_SIZE
naDEFAULT_MAX_HEAP_SIZE
. (Iaa16f) - Usuń niedziałające metody
getSource
igetTrace
w konsoli. (I4b7a2) - Odkryj:
FileDescriptorIoException
(Ic44e6) - Zezwalaj aplikacjom na rejestrowanie wywołań zwrotnych w celu obsługi pojedynczych awarii. (Iad25f)
Wersja 1.0.0-alfa06
4 października 2023 r.
Aplikacja androidx.javascriptengine:javascriptengine:1.0.0-alpha06
została zwolniona. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.
Nowe funkcje
- Wprowadzenie nowego interfejsu API do oceny JavaScriptu z elementu
ParcelFileDescriptor/AssetFileDescriptor
bez konieczności konwertowania źródła na ciąg znaków. KlasaJavaScriptIsolate
została ustawiona jako bezpieczna w wątku.
Zmiany w interfejsie API
- Zmień funkcję
provideNamedData
, aby zgłaszała wyjątek, zamiast zwracać wartość false (fałsz). (I8909a) - Dodanie interfejsów API do oceny JavaScriptu za pomocą Afds i Pfds (I03e3a)
- Utwórz podklasę
MemoryLimitExceededException
iSandboxDeadException
jako podklasęIsolateTerminatedException
(Icf359) - Usunięcie dostępnego publicznie interfejsu API
evaluateJavaScriptAsync(@NonNull byte[] code)
(I4b3ac)
Poprawki błędów
- Ustaw
JavaScriptIsolate
wątek jako bezpieczny. (Ib28e0)
Wersja 1.0.0-alfa05
5 kwietnia 2023 r.
Aplikacja androidx.javascriptengine:javascriptengine:1.0.0-alpha05
została zwolniona. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Ocena i wynik nie są już objęte limitami Binder (I13b1d)
- Dodaj wywołanie zwrotne do obsługi komunikatów izolowanych od konsoli (I11725, Ic1c11)
Wersja 1.0.0-alfa04
22 lutego 2023 roku
Aplikacja androidx.javascriptengine:javascriptengine:1.0.0-alpha04
została zwolniona. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązuje rzadki przypadek wystąpienia błędu
NullPointerException
powodowany po zakończeniu procesu w trybie piaskownicy.
Wersja 1.0.0-alfa03
7 grudnia 2022 r.
Aplikacja androidx.javascriptengine:javascriptengine:1.0.0-alpha03
została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
- ograniczyć awarie, które nie obejmują pamięci, do odpowiedzialnego izolowania, zamiast zawieszać całą piaskownicę. Gdy izolacja wymknie się w pamięci, nie będzie można go użyć do dalszej oceny.
- Obecnie zasoby zablokowane przez izolację nie są zwalniane, dopóki piaskownica nie zostanie zamknięta. To działanie związane z zwalnianiem zasobów może się zmienić w nowszych wersjach biblioteki.
Zmiany w interfejsie API
- ping
MemoryLimitExceededException
, gdy ocena prowadzi do wyizolowania wyczerpania pamięci.(I336ca)
Wersja 1.0.0-alfa02
5 października 2022 r.
Aplikacja androidx.javascriptengine:javascriptengine:1.0.0-alpha02
została zwolniona. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj
JavaScriptSandbox#isSupported
, aby sprawdzić, czy system obsługuje piaskownice JavaScript.
Zmiany w interfejsie API
- Jeśli nie można utworzyć elementu
JavaScriptSandbox
z powodu braku obsługi systemu, zwróćSandboxUnsupportedException
. (I0dcd6)
Wersja 1.0.0-alfa01
10 sierpnia 2022 r.
Aplikacja androidx.javascriptengine:javascriptengine:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
Dodaliśmy eksperymentalną obsługę
JavaScriptSandbox
iJavaScriptIsolate
, aby umożliwić klientom ocenę JavaScriptu w bezpiecznym i ograniczonym środowisku. Jest to obszar aktywnego rozwoju. Interfejsy API mogą ulec zmianie bez powiadomienia.Prosimy o przesyłanie próśb o dodanie funkcji i naprawianie błędów w naszym komponencie JavaScriptEngine.