57

Android アプリには、独自のブラウザー/レンダリング エンジンを組み込みたいと考えています。これの最も可能性の高い候補はWebkit / Chromiumです。基本的にWebViewに似たものを探していますが、制御するブラウザー (バージョン) によってサポートされています。

バックグラウンド

アプリの重要な部分は、ビューに埋め込まれた Web ページのフラグメントで構成されています (アプリ自体によって提供されます)。これを可能な限り透過的に行うようにしています (視覚的/ユーザー エクスペリエンスの観点から)。これまでのところ、これにはWebViewを使用しており、それはほとんどの場合機能します。そうでない場合を除いて。

一部の電話ベンダーは、残念ながら、標準の Android ブラウザーをあちこちで微調整することにしました。場合によっては、これによりアプリが壊れたり、Web ページを埋め込んだことがより目立つようになります。

私たちの考え

WebViewに似たコンポーネントが必要ですが、使用されている Webkit/Chromium (またはその他のレンダリング エンジン) のバージョンを制御します。必ずしも最新かつ最高のバージョンである必要はありません。アプリをできるだけ多くの Android デバイスで一貫して動作させることがより重要です。

ここのところ

これまでの調査では、有用なものは何も見つかりませんでした。Webkit をNDKに移植しようとする 3 つの失敗した試みが見つかりました (裸の Webkit for Android 移植では、NDK で利用できない機能が使用されているため、アプリ開発者は利用できません)。

StackOverflow を見ると、同様の質問がいくつか見つかりました。そのほとんどは、WebView を指定することで解決されています (既に行っていますが、十分ではありません)。

現在、Android 用 Chromium (またはその一部) をアプリで使用できるライブラリにできるかどうかを調査しています。他の誰かがこれをしましたか?

アップデート

GitHub の chromeview プロジェクト (受け入れられた回答) を見た後、Google が将来の Android デバイスで Chrome ベースの WebView をリリースするのを待つことにしました。Chromium レンダリング エンジンはかなり大きい (~40MB) ため、実際のアプリにはあまりスペースがありません :(

4

6 に答える 6

13

pwnall/chromeview・GitHub https://github.com/pwnall/chromeview

ChromeView は Android の WebView のように機能しますが、最新の Chromium コードでサポートされています。

于 2013-06-05T01:27:28.110 に答える
10

Crosswalk プロジェクトをチェックしてください。インテルが後援し、積極的に開発中です。彼らは Chromium ソースをプルし、すべての新しい Chromium 機能を 6 週間以内に Crosswalk で利用できるようにすることを約束します。

Crosswalk は、野心的な HTML5 アプリケーション向けの Web ランタイムです。最新のブラウザーのすべての機能を提供し、深いデバイス統合とネイティブ拡張を追加するための API を組み合わせています。特にモバイルデバイスに適しています。

Crosswalk は、ARM および Intel アーキテクチャで Android 4.0 以降をサポートします。

このプロジェクトを見つけてから 1 時間以内に、Cordova/Phonegap アプリを Crosswalk を搭載した Android フォンで実行することができました。(4.4 より前の) android.webkit.WebView の欠点を尊重するために Javascript コードを調整する必要がないことを嬉しく思います。

https://crosswalk-project.org

于 2014-08-13T18:39:24.330 に答える
4

WebKit がなければGeckoViewがあります。確かに、20Mb 以上のライブラリがプロジェクトに追加されます。

于 2013-12-06T16:01:37.090 に答える
2

Chromium の最新コード バージョンを使用してカスタム WebView を構築しようとしましたが、成功しました。

私は私のアプローチを示しますが、今ここにソースコードは示しません。

最終的に、カスタム WebView ライブラリのサイズは約 30MB になり、一部の小さなアプリではかなり大きくなります。でもAndroid 4.0から完璧に対応できるのは素晴らしい。

これは私の方法です:

  • Chromium のソース コードを取得し、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 フォルダ: 逆コンパイルされたプロジェクトの smali フォルダ内のファイルに対応する chromium プロジェクト ソース コード内のクラスを見つけます。

後でコードを更新しますが、待ちたくない場合は、今すぐガイドを試すことができます。

于 2015-10-17T15:29:01.500 に答える