Mechanizm JavaScript

  
Włącz obsługę JavaScriptu w swojej aplikacji na Androida.
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:

Odlotowy

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.

Utwórz nowy numer

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 na AUTOMATIC_MAX_HEAP_SIZE. (I6d303)
  • Zmień nazwę społeczności FileDescriptorIoException na DataInputException. (Iba4eb)
  • Zmień nazwę społeczności DEFAULT_ISOLATE_HEAP_SIZE na DEFAULT_MAX_HEAP_SIZE. (Iaa16f)
  • Usuń niedziałające metody getSource i getTrace 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. Klasa JavaScriptIsolate 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 i SandboxDeadException 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 i JavaScriptIsolate, 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.