JavaScript Engine

  
Aktiviere die Auswertung von JavaScript in deiner Android-App.
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpharelease
1. November 2023 - - 1.0.0-beta01 -

Abhängigkeiten deklarieren

Zum Hinzufügen einer Abhängigkeit von JavaScriptEngine müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

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

Groovig

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

Kotlin

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

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

Feedback

Dein Feedback hilft uns, Jetpack zu verbessern. Lassen Sie uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.0

Version 1.0.0-beta01

1. November 2023

androidx.javascriptengine:javascriptengine:1.0.0-beta01 wird freigegeben. Version 1.0.0-beta01 enthält diese Commits.

  • Keine Änderungen seit 1.0.0-alpha07

Version 1.0.0-alpha07

18. Oktober 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha07 wird freigegeben. Version 1.0.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Eine neue API wurde eingeführt, die es Apps ermöglicht, Callbacks zu registrieren, um Isolieren von Abstürzen zu verarbeiten.

API-Änderungen

  • Benennen Sie DEFAULT_MAX_HEAP_SIZE in AUTOMATIC_MAX_HEAP_SIZE um. (I6d303)
  • Benennen Sie FileDescriptorIoException in DataInputException um. (Iba4eb)
  • Benennen Sie DEFAULT_ISOLATE_HEAP_SIZE in DEFAULT_MAX_HEAP_SIZE um. (Iaa16f)
  • Entfernen Sie nicht funktionsfähige getSource- und getTrace-Methoden aus der Konsole. (I4b7a2)
  • FileDescriptorIoException (Ic44e6) einblenden
  • Erlaubt Apps, Callbacks zu registrieren, um Abstürze zu verarbeiten. (Iad25f)

Version 1.0.0-alpha06

4. Oktober 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha06 wird freigegeben. Version 1.0.0-alpha06 enthält diese Commits.

Neue Funktionen

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

API-Änderungen

  • Ändern Sie provideNamedData, um eine Ausnahme auszulösen, anstatt „false“ zurückzugeben. (I8909a)
  • APIs zur Bewertung von JavaScript über Afds und Pfds hinzufügen (I03e3a)
  • Legen Sie MemoryLimitExceededException und SandboxDeadException zur abgeleiteten Klasse IsolateTerminatedException (Icf359) fest.
  • Öffentlich zugängliche API evaluateJavaScriptAsync(@NonNull byte[] code) (I4b3ac) wird entfernt

Fehlerkorrekturen

  • JavaScriptIsolate-Thread sicher machen. (Ib28e0)

Version 1.0.0-alpha05

5. April 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha05 wird freigegeben. Version 1.0.0-alpha05 enthält diese Commits.

API-Änderungen

  • Bewertung und Ergebnis sind nicht mehr an die Binder-Limits gebunden (I13b1d).
  • Callback zum Verarbeiten von Konsolennachrichten hinzufügen (I11725, Ic1c11)

Version 1.0.0-alpha04

22. Februar 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha04 wird freigegeben. Version 1.0.0-alpha04 enthält diese Commits.

Fehlerkorrekturen

  • Der seltene Fall von NullPointerException, der ausgelöst wurde, wenn der in der Sandbox ausgeführte Prozess abgebrochen wird, wurde behoben.

Version 1.0.0-alpha03

7. Dezember 2022

androidx.javascriptengine:javascriptengine:1.0.0-alpha03 wird freigegeben. Version 1.0.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Abstürze mit zu wenig Arbeitsspeicher auf den verantwortlichen Isolationsbereich begrenzen, anstatt die gesamte Sandbox abstürzen zu lassen Sobald der Isolator nicht mehr genügend Arbeitsspeicher zur Verfügung steht, kann er nicht zur weiteren Bewertung verwendet werden.
  • Derzeit werden die Ressourcen, die der Isolation-Speicher enthält, erst nach dem Schließen der Sandbox freigegeben. Dieses Verhalten zur Freigabe von Ressourcen kann sich in späteren Versionen der Bibliothek ändern.

API-Änderungen

  • Lösen von MemoryLimitExceededException aus, wenn eine Auswertung zu einem Isolieren eines unzureichenden Arbeitsspeichers führt.(I336ca)

Version 1.0.0-alpha02

5. Oktober 2022

androidx.javascriptengine:javascriptengine:1.0.0-alpha02 wird freigegeben. Version 1.0.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Füge JavaScriptSandbox#isSupported hinzu, um zu prüfen, ob das System JavaScript-Sandboxes unterstützt.

API-Änderungen

  • Es wird SandboxUnsupportedException 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 wird freigegeben. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Wir haben eine 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 aktiven Entwicklung. Die APIs können ohne vorherige Ankündigung geändert werden.

  • Bitte senden Sie Funktionsanfragen, da unsere JavaScriptEngine-Komponente Fehler verursacht.