JavascriptEngine

  
자바스크립트를 평가하도록 Android 앱을 사용 설정합니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2023년 11월 1일 - - 1.0.0-beta01 -

종속 항목 선언

JavascriptEngine의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

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

Kotlin

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

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

버전 1.0

버전 1.0.0-beta01

2023년 11월 1일

androidx.javascriptengine:javascriptengine:1.0.0-beta01가 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.

  • 1.0.0-alpha07 이후 변경사항 없음

버전 1.0.0-alpha07

2023년 10월 18일

androidx.javascriptengine:javascriptengine:1.0.0-alpha07가 출시되었습니다. 버전 1.0.0-alpha07에 포함된 커밋을 확인하세요.

새로운 기능

  • 새로운 API가 도입되어 앱이 콜백을 등록하여 격리된 비정상 종료를 처리할 수 있습니다.

API 변경사항

  • DEFAULT_MAX_HEAP_SIZE의 이름을 AUTOMATIC_MAX_HEAP_SIZE로 바꿉니다. 추가했습니다. (I6d303)
  • FileDescriptorIoException의 이름을 DataInputException로 바꿉니다. 추가했습니다. (Iba4eb)
  • DEFAULT_ISOLATE_HEAP_SIZE의 이름을 DEFAULT_MAX_HEAP_SIZE로 바꿉니다. 추가했습니다. (Iaa16f)
  • 작동하지 않는 콘솔 getSourcegetTrace 메서드를 삭제합니다. 추가했습니다. (I4b7a2)
  • FileDescriptorIoException 숨기기를 해제합니다. (Ic44e6)
  • 앱이 콜백을 등록하여 격리된 비정상 종료를 처리하도록 허용합니다. 추가했습니다. (Iad25f)

버전 1.0.0-alpha06

2023년 10월 4일

androidx.javascriptengine:javascriptengine:1.0.0-alpha06가 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.

새로운 기능

  • 소스를 문자열로 변환하지 않고도 ParcelFileDescriptor/AssetFileDescriptor에서 JavaScript를 평가할 수 있는 새로운 API가 도입되었습니다. JavaScriptIsolate 클래스가 스레드로부터 안전합니다.

API 변경사항

  • false를 반환하는 대신 예외를 발생시키도록 provideNamedData를 변경합니다. 추가했습니다. (I8909a)
  • Afds 및 Pfds를 통해 JavaScript를 평가하는 API를 추가합니다. (I03e3a)
  • MemoryLimitExceededExceptionSandboxDeadException 서브클래스를 IsolateTerminatedException로 만듭니다. (Icf359)
  • 공개 API evaluateJavaScriptAsync(@NonNull byte[] code)를 삭제했습니다. (I4b3ac)

버그 수정

  • JavaScriptIsolate 스레드를 안전하게 만듭니다. 추가했습니다. (Ib28e0)

버전 1.0.0-alpha05

2023년 4월 5일

androidx.javascriptengine:javascriptengine:1.0.0-alpha05가 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.

API 변경사항

  • 평가 및 결과가 더 이상 바인더 한도의 제약을 받지 않습니다. (I13b1d)
  • 콘솔 격리 메시지를 처리하기 위한 콜백을 추가합니다. (I11725, Ic1c11)

버전 1.0.0-alpha04

2023년 2월 22일

androidx.javascriptengine:javascriptengine:1.0.0-alpha04가 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.

버그 수정

  • 샌드박스 처리된 프로세스가 종료될 때 드물게 발생하는 NullPointerException 문제를 수정했습니다.

버전 1.0.0-alpha03

2022년 12월 7일

androidx.javascriptengine:javascriptengine:1.0.0-alpha03이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.

새로운 기능

  • 메모리 부족 비정상 종료 발생 시 샌드박스 전체를 비정상 종료하는 대신 원인이 된 격리로 한정합니다. 격리에서 메모리가 부족하게 되면 추가 평가에 사용할 수 없습니다.
  • 현행 방식에서는 격리가 보유한 리소스는 샌드박스가 종료될 때까지 해제되지 않습니다. 이와 같은 리소스 해제 동작은 이후 버전의 라이브러리에서 변경될 수 있습니다.

API 변경사항

  • 평가 결과 격리에서 메모리가 부족하게 될 경우 MemoryLimitExceededException이 발생합니다. (I336ca)

버전 1.0.0-alpha02

2022년 10월 5일

androidx.javascriptengine:javascriptengine:1.0.0-alpha02가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.

새로운 기능

  • 시스템에서 자바스크립트 샌드박스를 지원하는지 확인하기 위해 JavaScriptSandbox#isSupported를 추가합니다.

API 변경사항

  • 시스템 지원 부족으로 JavaScriptSandbox를 만들 수 없는 경우 SandboxUnsupportedException이 발생합니다. (I0dcd6)

버전 1.0.0-alpha01

2022년 8월 10일

androidx.javascriptengine:javascriptengine:1.0.0-alpha01가 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • 클라이언트가 안전하고 제한된 환경에서 자바스크립트를 평가할 수 있도록 JavaScriptSandboxJavaScriptIsolate에 관한 실험용 지원을 추가했습니다. 현재 개발 중인 영역이므로 API는 사전 고지 없이 변경될 수 있습니다.

  • JavascriptEngine 구성요소에 관한 기능 요청 및 버그를 제출해 주세요.