如何 link 对抗 android 系统 v8?

How to link against android system v8?

我正在工作的项目使用 v8 JavaScript 引擎。我们将 v8 嵌入到我们的本地库 (libfoo-jni.so) 中,以完全控制 v8 引擎。然而,它使某些应用程序的文件大小太大,因此我们被要求使用系统 v8。我无法在 NDK 的 platforms/android-Z/arch-arm/usr/include.

中找到 v8 headers

是否有可能 link 反对在幕后用于 android WebView 的系统 V8?它应该在没有生根的情况下工作,并且不适用于有权访问设备上 android 平台的 android 设备制造商。

不,不支持。

在旧版本上,即使官方不支持也可以这样做,但在最近的 Android 版本中,平台将拒绝加载外部库,但支持的外部库除外。 (有关详细信息,请参阅 Android 7.0 Behavior Changes。)

除此之外,捆绑的 javascript 引擎的 API/ABI 没有任何保证 - 在旧版本中,该平台甚至可以使用 v8 或 JavaScriptCore 构建。任何设备制造商都可能使用不同的修改版本。