如何链接到Android系统v8?
问题描述:
我正在使用的项目使用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设备制造商。
答
不,这不被支持。
在旧版本中,有可能即使它不正式支持这样做,但在最近的Android版本中,该平台将拒绝加载除了那些支持外部库。 (详情请参阅Android 7.0 Behavior Changes)
除此之外,还有对API不能保证/ ABI捆绑的JavaScript引擎 - 在旧版本的平台,甚至可以与任一V8或JavaScriptCore的建造。任何设备制造商都可能使用不同的修改版本。
能否请您提供一个链接,“该平台将拒绝加载除了那些支持外部库”(NDK版本注释或谷歌开发者博客文章)知道确切的限制? – 4ntoine
通过指向解释该问题的相关文档的链接更新了该文章。 – mstorsjo
谢谢,我接受了你的回答。但是,如果有任何技巧,随时在这里与我们分享的解决方案(即使它与像Android版本有一些限制) – 4ntoine