JavascriptEngine

  
Włącz w aplikacji na Androida możliwość oceny kodu JavaScript.
Najnowsza aktualizacja Wersja stabilna Wersja kandydująca do publikacji Wersja beta Wersja alfa
11 marca 2026 r. 1.0.0 - - 1.1.0-alpha01

Deklarowanie zależności

Aby dodać zależność od JavascriptEngine, musisz dodać do projektu repozytorium Maven Google. Więcej informacji znajdziesz w artykule 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.0-alpha01"
}

Kotlin

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

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 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.

Wersja 1.1

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 Javy 11. Oznacza to, że wygenerowany kod bajtowy będzie zgodny z Java 11 (wersja pliku klasy 55) i może wymagać odludrzania, aby można było używać biblioteki (If4c2a, b/457821470).
  • Ta biblioteka korzysta teraz z adnotacji o wartości null JSpecify, które są używane w typie. 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

Wersja 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ęto niefunkcjonalne metody 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ść „fałsz”. (I8909a)
  • Dodanie interfejsów API do oceny kodu JavaScript za pomocą funkcji Afds i Pfds (I03e3a)
  • Ustawienie MemoryLimitExceededException i SandboxDeadException jako podklas IsolateTerminatedException (Icf359)
  • Usunięcie publicznego interfejsu API evaluateJavaScriptAsync(@NonNull byte[] code) (I4b3ac)

Poprawki błędów

  • Zapewnij bezpieczeństwo wątkowe 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).
  • Dodano wywołanie zwrotne do obsługi komunikatów z konsoli izolowanej (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 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 izolowanym środowisku, 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łaszaj wyjątek MemoryLimitExceededException, gdy w wyniku oceny izolacja wyczerpie pamięć.(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

  • Dodaj 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 aktywnego rozwoju, więc interfejsy API mogą ulec zmianie bez powiadomienia.

  • Prośby o dodanie funkcji i błędy zgłaszaj w komponencie JavascriptEngine.