Более новые версии Android ( > 2.2) включают в себя механизм javascript v8, в то время как более старые версии имели только АО. Однако, согласно http://blogs.nitobi.com/joe/2011/01/14/android-your-js-engine-is-not-always-v8/, механизм javascript, используемый во время выполнения, по-видимому, зависит от переменной среды, присутствующей во время сборки (JS_ENGINE
), а также аппаратные спецификации устройства:
# The default / alternative engine depends on the device class.
# On devices with a lot of memory (e.g. Passion/Sholes), the
# default is V8. On everything else, the only choice is JSC.
Мой вопрос заключается в следующем: есть ли способ определить, какой механизм javascript используется с веб-страницы, встроенного WebView или приложения?
Если ответ отрицательный, кто-нибудь знает, какой JS-движок используется эмулятором Android?
Причина, по которой я прошу об этом, связана с этой проблемой: http://code.google.com/p/android/issues/detail?id=12987
В принципе, может случиться, что модем javascript-to-java в АО нарушен на Android 2.3.X, и это влияет на приложение, которое я пытаюсь написать. Я вижу segfault где-то в глубине JNI на эмуляторе, но не на нескольких физических устройствах, которые я тестировал. Я пытаюсь определить, является ли это только эмулятор, только для АО или вообще что-то совсем другое.