JavascriptEngine

  
Ermöglichen Sie Ihrer Android-App, JavaScript auszuwerten.
Letzte Aktualisierung Stabile Release Releasekandidat Beta-Release Alpha-Release
8. April 2026 1.0.0 - 1.1.0-beta01 -

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von JavascriptEngine hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Google-Repository bei Maven.

Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:

Cool

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

Kotlin

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

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf den Button mit dem Stern.

Neues Problem melden

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.1

Version 1.1.0-beta01

8. April 2026

androidx.javascriptengine:javascriptengine:1.1.0-beta01 ist veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.

Diverse Fehlerkorrekturen

  • JavaScriptEngine auf 1.1.0-beta01 aktualisieren (I7b63b)

Version 1.1.0-alpha02

25. März 2026

androidx.javascriptengine:javascriptengine:1.1.0-alpha02 ist veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Nachrichtenports-API hinzugefügt, um eine symmetrische, flexible und ressourcenschonende Kommunikation mit JavaScript-Isolaten zu ermöglichen. So können Strings und ArrayBuffers gesendet und empfangen werden, ohne sie in Auswertungen oder benannte Daten-Blobs einzubetten. (I04bc0, b/490128971)

Version 1.1.0-alpha01

11. März 2026

androidx.javascriptengine:javascriptengine:1.1.0-alpha01 ist veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.

Diverse Fehlerkorrekturen

  • Bibliotheken werden auf Java 11 umgestellt. Das bedeutet, dass der erzeugte Bytecode Java 11 (Klassendateiversion 55) ist und möglicherweise desugaring erfordert, um die Bibliothek zu verwenden (If4c2a, b/457821470).
  • In dieser Bibliothek werden jetzt JSpecify-Annotationen für Nullsicherheit verwendet, die typbezogen sind. Kotlin-Entwickler sollten das folgende Compiler-Argument verwenden, um die korrekte Verwendung zu erzwingen: -Xjspecify-annotations=strict (dies ist die Standardeinstellung ab Version 2.1.0 des Kotlin-Compilers) (Ieee48, b/326456246)

Version 1.0

Version 1.0.0

2. Juli 2025

androidx.javascriptengine:javascriptengine:1.0.0 wurde veröffentlicht. Seit der letzten RC-Version gab es keine nennenswerten Änderungen. Version 1.0.0 enthält diese Commits.

Version 1.0.0-rc01

26. März 2025

androidx.javascriptengine:javascriptengine:1.0.0-rc01 wurde veröffentlicht. Seit der letzten Beta-Version gab es keine nennenswerten Änderungen. Version 1.0.0-rc01 enthält diese Commits.

Version 1.0.0-beta01

1. November 2023

androidx.javascriptengine:javascriptengine:1.0.0-beta01 wurde veröffentlicht. Seit der letzten Alpha-Version gab es keine nennenswerten Änderungen. Version 1.0.0-beta01 enthält diese Commits.

Version 1.0.0-alpha07

18. Oktober 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha07 wurde veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Neue API eingeführt, mit der Apps Callbacks registrieren können, um Abstürze von Isolaten zu verarbeiten.

API-Änderungen

  • DEFAULT_MAX_HEAP_SIZE in AUTOMATIC_MAX_HEAP_SIZE umbenannt. (I6d303)
  • FileDescriptorIoException in DataInputException umbenannt. (Iba4eb)
  • DEFAULT_ISOLATE_HEAP_SIZE in DEFAULT_MAX_HEAP_SIZE umbenannt. (Iaa16f)
  • Nicht funktionierende Konsolenmethoden getSource und getTrace entfernt. (I4b7a2)
  • FileDescriptorIoException eingeblendet (Ic44e6)
  • Apps können Callbacks registrieren, um Abstürze von Isolaten zu verarbeiten. (Iad25f)

Version 1.0.0-alpha06

4. Oktober 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha06 wurde veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Neue API eingeführt, um JavaScript aus einem ParcelFileDescriptor/AssetFileDescriptor auszuwerten, ohne die Quelle in einen String konvertieren zu müssen. Die Klasse JavaScriptIsolate ist threadsicher.

API-Änderungen

  • provideNamedData so geändert, dass eine Ausnahme ausgelöst wird, anstatt „false“ zurückzugeben. (I8909a)
  • APIs zum Auswerten von JavaScript über Afds und Pfds hinzugefügt (I03e3a)
  • MemoryLimitExceededException und SandboxDeadException als Unterklassen von IsolateTerminatedException festgelegt (Icf359)
  • Öffentliche API evaluateJavaScriptAsync(@NonNull byte[] code) entfernt (I4b3ac)

Diverse Fehlerkorrekturen

  • JavaScriptIsolate threadsicher gemacht. (Ib28e0)

Version 1.0.0-alpha05

5. April 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha05 wurde veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.

API-Änderungen

  • Auswertung und Ergebnis sind nicht mehr durch Binder-Limits begrenzt (I13b1d)
  • Callback zum Verarbeiten von Konsolennachrichten für Isolate hinzugefügt (I11725, Ic1c11)

Version 1.0.0-alpha04

22. Februar 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha04 wurde veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

Diverse Fehlerkorrekturen

  • Seltenen Fall von NullPointerException behoben, der auftritt, wenn der Sandbox-Prozess beendet wird.

Version 1.0.0-alpha03

7. Dezember 2022

androidx.javascriptengine:javascriptengine:1.0.0-alpha03 wurde veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Abstürze aufgrund von Arbeitsspeichermangel werden auf das verantwortliche Isolat beschränkt, anstatt die gesamte Sandbox zum Absturz zu bringen. Sobald der Arbeitsspeicher des Isolats erschöpft ist, kann es nicht mehr für weitere Auswertungen verwendet werden.
  • Derzeit werden die Ressourcen, die das Isolat enthält, erst freigegeben, wenn die Sandbox geschlossen wird. Dieses Verhalten bei der Ressourcenfreigabe kann sich in späteren Versionen der Bibliothek ändern.

API-Änderungen

  • MemoryLimitExceededException wird ausgelöst, wenn eine Auswertung dazu führt, dass der Arbeitsspeicher des Isolats erschöpft ist (I336ca).

Version 1.0.0-alpha02

5. Oktober 2022

androidx.javascriptengine:javascriptengine:1.0.0-alpha02 wurde veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

Neue Funktionen

  • JavaScriptSandbox#isSupported hinzugefügt, um zu prüfen, ob das System JavaScript-Sandboxes unterstützt.

API-Änderungen

  • SandboxUnsupportedException wird ausgelöst, wenn JavaScriptSandbox aufgrund fehlender Systemunterstützung nicht erstellt werden kann. (I0dcd6)

Version 1.0.0-alpha01

10. August 2022

androidx.javascriptengine:javascriptengine:1.0.0-alpha01 wurde veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Experimentelle Unterstützung für JavaScriptSandbox und JavaScriptIsolate hinzugefügt, damit Clients JavaScript in einer sicheren und eingeschränkten Umgebung auswerten können. Dies ist ein Bereich, der aktiv weiterentwickelt wird. Die APIs können ohne Vorankündigung geändert werden.

  • Bitte melden Sie Funktionsanfragen und Fehler für unsere JavascriptEngine-Komponente.