2017-08-16 62 views
0

我正在使用的项目使用v8 JavaScript引擎。我们将v8嵌入到我们的本地库(libfoo-jni.so)中,以完全控制v8引擎。但是,它使文件大小对于某些应用程序来说太大,所以我们被要求使用system v8。我无法在NDK的platforms/android-Z/arch-arm/usr/include中找到v8头文件。如何链接到Android系统v8?

有没有可能与背后的android WebView使用的系统V8链接?它应该在没有生根的情况下工作,并且不适用于可以在设备上访问android平台的android设备制造商。

回答

2

不,这不被支持。

在旧版本中,有可能即使它不正式支持这样做,但在最近的Android版本中,该平台将拒绝加载除了那些支持外部库。 (详情请参阅Android 7.0 Behavior Changes

除此之外,还有对API不能保证/ ABI捆绑的JavaScript引擎 - 在旧版本的平台,甚至可以与任一V8或JavaScriptCore的建造。任何设备制造商都可能使用不同的修改版本。

+0

能否请您提供一个链接,“该平台将拒绝加载除了那些支持外部库”(NDK版本注释或谷歌开发者博客文章)知道确切的限制? – 4ntoine

+0

通过指向解释该问题的相关文档的链接更新了该文章。 – mstorsjo

+0

谢谢,我接受了你的回答。但是,如果有任何技巧,随时​​在这里与我们分享的解决方案(即使它与像Android版本有一些限制) – 4ntoine