JavaScriptEngine

  
Włącz w aplikacji na Androida możliwość oceny JavaScriptu.
Najnowsza aktualizacja Wersja stabilna Wersja kandydująca do publikacji Wersja beta Wersja alfa
23 września 2026 r. 1.1.1 - - -

Deklarowanie zależności

Aby dodać zależność od JavaScriptEngine, musisz dodać do projektu repozytorium Maven Google. Więcej informacji znajdziesz w repozytorium Maven Google.

Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:

Odlotowe

dependencies {
    implementation "androidx.javascriptengine:javascriptengine:1.1.1"
}

Kotlin

dependencies {
    implementation("androidx.javascriptengine:javascriptengine:1.1.1")
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Prześlij opinię

Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz oddać głos na istniejący problem, klikając przycisk gwiazdki.

Tworzenie nowego problemu

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

JavaScriptEngine w wersji 1.1

Wersja 1.1.1

23 września 2026 r.

Publikacja androidx.javascriptengine:javascriptengine:1.1.1 Wersja 1.1.1 zawiera te zmiany.

  • Usuń bezpośrednią zależność od biblioteki kotlin-stdlib.
  • Naprawiono błąd w funkcji JavaScriptSandbox.isSupported(), która zwracała nieprawidłowy wynik.

Wersja 1.1.0

6 maja 2026 r.

Publikacja androidx.javascriptengine:javascriptengine:1.1.0 Wersja 1.1.0 zawiera te zmiany.

Wersja 1.1.0-rc01

22 kwietnia 2026 r.

Publikacja androidx.javascriptengine:javascriptengine:1.1.0-rc01 Wersja 1.1.0-rc01 zawiera te zmiany.

Wersja 1.1.0-beta01

8 kwietnia 2026 r.

Publikacja androidx.javascriptengine:javascriptengine:1.1.0-beta01 Wersja 1.1.0-beta01 zawiera te zmiany.

Poprawki błędów

  • Aktualizacja JavaScriptEngine do wersji 1.1.0-beta01 (I7b63b)

Wersja 1.1.0-alpha02

25 marca 2026 r.

Publikacja androidx.javascriptengine:javascriptengine:1.1.0-alpha02 Wersja 1.1.0-alpha02 zawiera te zmiany.

Nowe funkcje

  • Dodaj interfejs Message Ports API, aby zapewnić symetryczną, elastyczną i niewymagającą dużych zasobów komunikację z izolatami JavaScriptu. Umożliwia to wysyłanie i odbieranie ciągów znaków i ArrayBuffers bez umieszczania ich w ocenach ani w nazwanych blokach danych. (I04bc0, b/490128971)

Wersja 1.1.0-alpha01

11 marca 2026 r.

Publikacja androidx.javascriptengine:javascriptengine:1.1.0-alpha01 Wersja 1.1.0-alpha01 zawiera te zmiany.

Poprawki błędów

  • Przenosi biblioteki do korzystania z Java 11. Oznacza to, że wygenerowany kod bajtowy będzie zgodny z Java 11 (wersja pliku klasy 55) i może wymagać desugaryzacji, aby można było używać biblioteki (If4c2a, b/457821470).
  • Ta biblioteka używa teraz adnotacji o wartościach null z JSpecify, które są używane w typach. Programiści Kotlin powinni używać tego argumentu kompilatora, aby wymusić prawidłowe użycie: -Xjspecify-annotations=strict (jest to domyślny argument począwszy od wersji 2.1.0 kompilatora Kotlin) (Ieee48, b/326456246).

Wersja 1.0

Wersja 1.0.0

2 lipca 2025 r.

androidx.javascriptengine:javascriptengine:1.0.0 nie zawiera żadnych istotnych zmian w porównaniu z ostatnią wersją rc. Wersja 1.0.0 zawiera te zmiany.

Wersja 1.0.0-rc01

26 marca 2025 r.

androidx.javascriptengine:javascriptengine:1.0.0-rc01 nie zawiera żadnych istotnych zmian w porównaniu z ostatnią wersją beta. Wersja 1.0.0-rc01 zawiera te zmiany.

Wersja 1.0.0-beta01

1 listopada 2023 roku

androidx.javascriptengine:javascriptengine:1.0.0-beta01 nie zawiera żadnych istotnych zmian w porównaniu z ostatnią wersją alfa. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha07

18 października 2023 r.

Publikacja androidx.javascriptengine:javascriptengine:1.0.0-alpha07 Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.

Nowe funkcje

  • Wprowadziliśmy nowy interfejs API, który umożliwia aplikacjom rejestrowanie wywołań zwrotnych do obsługi awarii izolowanych.

Zmiany w interfejsie API

  • Zmień nazwę DEFAULT_MAX_HEAP_SIZE na AUTOMATIC_MAX_HEAP_SIZE. (I6d303)
  • Zmień nazwę FileDescriptorIoException na DataInputException. (Iba4eb)
  • Zmień nazwę DEFAULT_ISOLATE_HEAP_SIZE na DEFAULT_MAX_HEAP_SIZE. (Iaa16f)
  • Usunięcie nieużywanych metod konsoli getSourcegetTrace. (I4b7a2)
  • Odkryj FileDescriptorIoException (Ic44e6)
  • Zezwala aplikacjom na rejestrowanie wywołań zwrotnych do obsługi awarii izolowanych. (Iad25f)

Wersja 1.0.0-alpha06

4 października 2023 roku

Publikacja androidx.javascriptengine:javascriptengine:1.0.0-alpha06 Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.

Nowe funkcje

  • Wprowadziliśmy nowy interfejs API do oceny kodu JavaScript z ParcelFileDescriptor/AssetFileDescriptor bez konieczności konwertowania źródła na ciąg znaków. Klasa JavaScriptIsolate jest bezpieczna wątkowo.

Zmiany w interfejsie API

  • Zmień provideNamedData, aby zgłaszać wyjątek zamiast zwracać wartość „false”. (I8909a)
  • Dodanie interfejsów API do oceny JavaScriptu za pomocą Afds i Pfds (I03e3a)
  • Ustawienie MemoryLimitExceededExceptionSandboxDeadException jako podklas IsolateTerminatedException (Icf359)
  • Usunięcie publicznego interfejsu API evaluateJavaScriptAsync(@NonNull byte[] code) (I4b3ac)

Poprawki błędów

  • Zapewnij bezpieczeństwo wątków w przypadku JavaScriptIsolate. (Ib28e0)

Wersja 1.0.0-alpha05

5 kwietnia 2023 r.

Publikacja androidx.javascriptengine:javascriptengine:1.0.0-alpha05 Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Ocena i wynik nie są już ograniczone limitami Binder (I13b1d).
  • Dodanie wywołania zwrotnego do obsługi komunikatów konsoli w izolacji (I11725, Ic1c11)

Wersja 1.0.0-alpha04

22 lutego 2023 roku

Publikacja androidx.javascriptengine:javascriptengine:1.0.0-alpha04 Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawia rzadki przypadek NullPointerException, który występuje, gdy proces w piaskownicy zostanie zakończony.

Wersja 1.0.0-alpha03

7 grudnia 2022 r.

Publikacja androidx.javascriptengine:javascriptengine:1.0.0-alpha03 Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

  • Ograniczanie awarii z powodu braku pamięci do odpowiedzialnego za nie izolatu zamiast powodowania awarii całej piaskownicy. Gdy izolacja wyczerpie pamięć, nie można jej używać do dalszej oceny.
  • Obecnie zasoby, które są przechowywane w izolacji, nie są zwalniane do momentu zamknięcia piaskownicy. Zwalnianie zasobów może się zmienić w późniejszych wersjach biblioteki.

Zmiany w interfejsie API

  • Zgłasza MemoryLimitExceededException, gdy ocena powoduje brak pamięci przez izolację.(I336ca)

Wersja 1.0.0-alpha02

5 października 2022 r.

Publikacja androidx.javascriptengine:javascriptengine:1.0.0-alpha02 Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano JavaScriptSandbox#isSupported, aby sprawdzić, czy system obsługuje piaskownice JavaScript.

Zmiany w interfejsie API

  • Zgłoś wyjątek SandboxUnsupportedException, gdy nie można utworzyć elementu JavaScriptSandbox z powodu braku obsługi w systemie. (I0dcd6)

Wersja 1.0.0-alpha01

10 sierpnia 2022 r.

Publikacja androidx.javascriptengine:javascriptengine:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy eksperymentalną obsługę JavaScriptSandboxJavaScriptIsolate, aby umożliwić klientom ocenę JavaScriptu w bezpiecznym i ograniczonym środowisku. Jest to obszar, w którym aktywnie rozwijamy funkcje. Interfejsy API mogą ulec zmianie bez powiadomienia.

  • Zgłaszaj prośby o dodanie funkcji i błędy w naszym komponencie JavaScriptEngine.