Androidアプリの場合、独自のブラウザ/レンダリングエンジンを埋め込みたいと思います。これの最も可能性の高い候補は、 Webkit / Chromium =。私たちは WebView に似たものを探していますが、本質的には、私たちが制御するブラウザ(バージョン)に支えられています。
アプリの重要な部分は、ビューに埋め込まれたWebページのフラグメントで構成されます(アプリ自体によって提供されます)。できる限り透過的にこれを行うようにします(視覚/ユーザーエクスペリエンスの観点から)。これまで、これに WebView を使用してきましたが、ほとんどの場合は機能します。そうでない場合を除きます。
一部の携帯電話ベンダーは、残念ながら標準のAndroidブラウザをあちこちで調整することにしました。場合によっては、これによりアプリが壊れたり、Webページを埋め込んだ事実がより顕著になります。
WebView に似たコンポーネントが必要ですが、使用するWebkit/Chromium(または他のレンダリングエンジン)のバージョンを制御します。必ずしも最新で最高のバージョンである必要はありません。できるだけ多くのAndroidデバイスでアプリを一貫して動作させることができることがより重要です。
これまでの研究では、有用なものは見つかっていません。 Webkitを [〜#〜] ndk [〜#〜] (Android portの裸のWebkitは、 NDK、つまりアプリ開発者ではない):
StackOverflowを見ると、同様の質問がいくつか見つかりました。そのほとんどは、WebViewをポイントすることで解決されます(既にそれを行っていますが、十分ではありません)
Chromium for Android (またはその一部)をアプリで使用できるライブラリに変換できるかどうかを現在調査中です。他の誰かがこれをしましたか?
GitHubのchromeviewプロジェクト(受け入れられた答え)を見て、Googleが将来のAndroidデバイス。ChromiumレンダリングエンジンでChromeベースのWebViewをリリースするのを待つことを決定しました。かなり大きい(〜40MB)ことが判明しますが、実際のアプリ用のスペースはあまりありません:(
pwnall/chromeview・GitHub https://github.com/pwnall/chromeview
ChormeViewはAndroidのWebViewと同じように機能しますが、最新のChromiumコードに支えられています。
すべてCrosswalkプロジェクトをチェックアウトする必要があります。 Intelがスポンサーであり、開発中です。彼らはChromiumのソースを引き出し、6週間以内にすべての新しいChromium機能をCrosswalkで利用可能にすることを約束します。
Crosswalkは、野心的なHTML5アプリケーション用のWebランタイムです。最新のブラウザのすべての機能に加えて、深いデバイス統合とネイティブ拡張を追加するためのAPIが組み合わされています。モバイルデバイスに特に適しています。
Crosswalkは、Android 4.0以降、ARMおよびIntelアーキテクチャで。
このプロジェクトを見つけて1時間以内に、Cordova/PhonegapアプリをCrosswalkを使用してAndroid電話で実行しました。Javascriptコードを調整して、 (4.4より前の)Android.webkit.WebViewの欠点。
WebKitがなければ、 GeckoView があります。確かに、プロジェクトに20Mb以上のライブラリが追加されます。
Chromiumの最新のコードバージョンを使用してカスタムWebViewを構築しようとしましたが、成功しました。
ここでは、ソースコードではなく、アプローチを説明します。
最終的に、カスタムWebViewライブラリのサイズは約30MBで、一部の小さなアプリではかなり大きくなります。しかし、Android 4.0。
これは私の方法です:
クロムのソースコードを取得し、web_view_apk(AndroidWebViewテストシェル)をビルドし、この指示に従います https://www.chromium.org/developers/how-tos/Android-build-instructions
apktoolを使用して、上記のAw Shellのapkファイルを逆コンパイルします。 https://ibotpeaches.github.io/Apktool/
逆コンパイルしたプロジェクトと同じように、res、libフォルダーでプロジェクトを作成します。
マニフェストファイルは/ src/Android_webview/test/src/org/chromium/Shellにあります
srcフォルダー:Chromプロジェクトのソースコード内のクラスは、それぞれ逆コンパイルされたプロジェクトのsmaliフォルダー内のファイルです。
後でコードを更新しますが、待ちたくない場合は、今すぐガイドを試すことができます。
現在、GeckoViewは検討する代替手段のようです