JavaScript Engine
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:
Cool
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.
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
inAUTOMATIC_MAX_HEAP_SIZE
um. (I6d303) - Benennen Sie
FileDescriptorIoException
inDataInputException
um. (Iba4eb) - Benennen Sie
DEFAULT_ISOLATE_HEAP_SIZE
inDEFAULT_MAX_HEAP_SIZE
um. (Iaa16f) - Entfernen Sie nicht funktionsfähige
getSource
- undgetTrace
-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 KlasseJavaScriptIsolate
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
undSandboxDeadException
zur abgeleiteten KlasseIsolateTerminatedException
(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, wennJavaScriptSandbox
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
undJavaScriptIsolate
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.