JavascriptEngine

  
Włączanie w aplikacji na Androida możliwości wykonywania kodu JavaScript
Najnowsza aktualizacja Wersja stabilna Wersja kandydująca do publikacji Wersja beta Wersja alfa
22 kwietnia 2026 r. 1.0.0 1.1.0-rc01 - -

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 od potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:

Odlotowe

dependencies {
    implementation "androidx.javascriptengine:javascriptengine:1.1.0-rc01"
}

Kotlin

dependencies {
    implementation("androidx.javascriptengine:javascriptengine:1.1.0-rc01")
}

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

Opinia

Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z istniejącymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.

Utwórz nowy problem

Więcej informacji znajdziesz w dokumentacji narzędzia do śledzenia problemów Issue Tracker documentation.

Javascriptengine w wersji 1.1

Wersja 1.1.0-rc01

22 kwietnia 2026 r.

Ukazała się wersja androidx.javascriptengine:javascriptengine:1.1.0-rc01. Wersja 1.1.0-rc01 zawiera te zmiany.

Wersja 1.1.0-beta01

8 kwietnia 2026 r.

Ukazała się wersja 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.

Ukazała się wersja androidx.javascriptengine:javascriptengine:1.1.0-alpha02. Wersja 1.1.0-alpha02 zawiera te zmiany.

Nowe funkcje

  • Dodanie interfejsu API portów wiadomości, aby zapewnić symetryczną, elastyczną i niską komunikację z izolowanymi środowiskami JavaScript. Dzięki temu można wysyłać i odbierać ciągi znaków oraz ArrayBuffers bez osadzania ich w ocenach ani nazwanych blobach danych. (I04bc0, b/490128971)

Wersja 1.1.0-alpha01

11 marca 2026 r.

Ukazała się wersja androidx.javascriptengine:javascriptengine:1.1.0-alpha01. Wersja 1.1.0-alpha01 zawiera te zmiany.

Poprawki błędów

  • Przeniesienie bibliotek do korzystania z Javy 11. Oznacza to, że wygenerowany kod bajtowy będzie zgodny z Javą 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ści null JSpecify, które są używane w typach. Deweloperzy Kotlin powinni użyć tego argumentu kompilatora, aby wymusić prawidłowe użycie: -Xjspecify-annotations=strict (jest to domyślne ustawienie od wersji 2.1.0 kompilatora Kotlin) (Ieee48, b/326456246).

Wersja 1.0

Wersja 1.0.0

2 lipca 2025 r.

Ukazała się wersja androidx.javascriptengine:javascriptengine:1.0.0 bez istotnych zmian od ostatniej wersji rc. Wersja 1.0.0 zawiera te zmiany.

Wersja 1.0.0-rc01

26 marca 2025 r.

Ukazała się wersja androidx.javascriptengine:javascriptengine:1.0.0-rc01 bez istotnych zmian od ostatniej wersji beta. Wersja 1.0.0-rc01 zawiera te zmiany.

Wersja 1.0.0-beta01

1 listopada 2023 roku

Ukazała się wersja androidx.javascriptengine:javascriptengine:1.0.0-beta01 bez istotnych zmian od ostatniej wersji alfa. Wersja 1.0.0-beta01 zawiera te zmiany.

Wersja 1.0.0-alpha07

18 października 2023 roku

Ukazała się wersja androidx.javascriptengine:javascriptengine:1.0.0-alpha07. Wersja 1.0.0-alpha07 zawiera te zmiany.

Nowe funkcje

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

Zmiany w interfejsie API

  • Zmiana nazwy DEFAULT_MAX_HEAP_SIZE na AUTOMATIC_MAX_HEAP_SIZE. (I6d303)
  • Zmiana nazwy FileDescriptorIoException na DataInputException. (Iba4eb)
  • Zmiana nazwy DEFAULT_ISOLATE_HEAP_SIZE na DEFAULT_MAX_HEAP_SIZE. (Iaa16f)
  • Usunięcie niefunkcjonalnych metod konsoli getSource i getTrace. (I4b7a2)
  • Odkrycie FileDescriptorIoException (Ic44e6)
  • Umożliwienie aplikacjom rejestrowania wywołań zwrotnych do obsługi awarii izolowanych środowisk. (Iad25f)

Wersja 1.0.0-alpha06

4 października 2023 roku

Ukazała się wersja androidx.javascriptengine:javascriptengine:1.0.0-alpha06. Wersja 1.0.0-alpha06 zawiera te zmiany.

Nowe funkcje

  • Wprowadzono nowy interfejs API, który umożliwia wykonywanie kodu JavaScript z ParcelFileDescriptor/AssetFileDescriptor bez konieczności konwertowania źródła na ciąg znaków. Klasa JavaScriptIsolate jest bezpieczna dla wątków.

Zmiany w interfejsie API

  • Zmiana provideNamedData na zgłaszanie wyjątku zamiast zwracania wartości false. (I8909a)
  • Dodawanie interfejsów API do wykonywania kodu JavaScript za pomocą Afds i Pfds (I03e3a)
  • Uczynienie MemoryLimitExceededException i SandboxDeadException podklasami IsolateTerminatedException (Icf359)
  • Usunięcie publicznego interfejsu API evaluateJavaScriptAsync(@NonNull byte[] code) (I4b3ac)

Poprawki błędów

  • Uczynienie JavaScriptIsolate bezpiecznym dla wątków. (Ib28e0)

Wersja 1.0.0-alpha05

5 kwietnia 2023 roku

Ukazała się wersja androidx.javascriptengine:javascriptengine:1.0.0-alpha05. Wersja 1.0.0-alpha05 zawiera te zmiany.

Zmiany w interfejsie API

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

Wersja 1.0.0-alpha04

22 lutego 2023 roku

Ukazała się wersja androidx.javascriptengine:javascriptengine:1.0.0-alpha04. Wersja 1.0.0-alpha04 zawiera te zmiany.

Poprawki błędów

  • Naprawiono rzadki przypadek NullPointerException spowodowany zamknięciem procesu w piaskownicy.

Wersja 1.0.0-alpha03

7 grudnia 2022 roku

Ukazała się wersja androidx.javascriptengine:javascriptengine:1.0.0-alpha03. Wersja 1.0.0-alpha03 zawiera te zmiany.

Nowe funkcje

  • Ograniczenie awarii spowodowanych brakiem pamięci do odpowiedzialnego za nie izolowanego środowiska zamiast powodowania awarii całej piaskownicy. Gdy izolowane środowisko wyczerpie pamięć, nie będzie można go używać do dalszej oceny.
  • Obecnie zasoby, które zawiera izolowane środowisko, nie są zwalniane do momentu zamknięcia piaskownicy. To zachowanie związane ze zwalnianiem zasobów może się zmienić w późniejszych wersjach biblioteki.

Zmiany w interfejsie API

  • Zgłaszanie MemoryLimitExceededException, gdy ocena prowadzi do wyczerpania pamięci w izolowanym środowisku (I336ca).

Wersja 1.0.0-alpha02

5 października 2022 roku

Ukazała się wersja androidx.javascriptengine:javascriptengine:1.0.0-alpha02. Wersja 1.0.0-alpha02 zawiera te zmiany.

Nowe funkcje

  • Dodanie JavaScriptSandbox#isSupported do sprawdzania, czy system obsługuje piaskownice JavaScript.

Zmiany w interfejsie API

  • Zgłaszanie SandboxUnsupportedException, gdy nie można utworzyć JavaScriptSandbox z powodu braku obsługi systemu. (I0dcd6)

Wersja 1.0.0-alpha01

10 sierpnia 2022 roku

Ukazała się wersja androidx.javascriptengine:javascriptengine:1.0.0-alpha01. Wersja 1.0.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy eksperymentalną obsługę JavaScriptSandbox i JavaScriptIsolate, aby umożliwić klientom wykonywanie kodu JavaScript w bezpiecznym i ograniczonym środowisku. Jest to obszar aktywnego rozwoju. Interfejsy API mogą ulec zmianie bez powiadomienia.

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