2017-08-16 93 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