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
2 lipca 2025 r. 1.0.0 - - -

Deklarowanie zależności

Aby dodać zależność od JavascriptEngine, musisz dodać do projektu repozytorium Google Maven. 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.0.0"
}

Kotlin

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

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 dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.

Tworzenie nowego problemu

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

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

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

Wersja 1.0.0-alpha07

18 października 2023 r.

Zostanie wycofaneandroidx.javascriptengine:javascriptengine:1.0.0-alpha07 Wersja 1.0.0-alpha07 zawiera te zmiany.

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)
  • Usuń nieprawidłowe metody 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

Zostanie wycofaneandroidx.javascriptengine:javascriptengine:1.0.0-alpha06 Wersja 1.0.0-alpha06 zawiera te zmiany.

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)
  • Ustaw klasy MemoryLimitExceededExceptionSandboxDeadException jako podklasy klasy IsolateTerminatedException (Icf359)
  • Usuwanie 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.

Zostanie wycofaneandroidx.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 interfejsu Binder (I13b1d).
  • Dodanie wywołania zwrotnego do obsługi komunikatów z konsoli izolowanej (I11725, Ic1c11)

Wersja 1.0.0-alpha04

22 lutego 2023 roku

Zostanie wycofaneandroidx.javascriptengine:javascriptengine:1.0.0-alpha04 Wersja 1.0.0-alpha04 zawiera te zmiany.

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.

Zostanie wycofaneandroidx.javascriptengine:javascriptengine:1.0.0-alpha03 Wersja 1.0.0-alpha03 zawiera te zmiany.

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

  • Wyrzuć wyjątek MemoryLimitExceededException, gdy ocena spowoduje wyczerpanie pamięci w izolowanym środowisku.(I336ca)

Wersja 1.0.0-alpha02

5 października 2022 r.

Zostanie wycofaneandroidx.javascriptengine:javascriptengine:1.0.0-alpha02 Wersja 1.0.0-alpha02 zawiera te zmiany.

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.

Zostanie wycofaneandroidx.javascriptengine:javascriptengine:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy eksperymentalną obsługę funkcji 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.