「おじさん」と叫ぶまでSVGグラフィックスをひねるゲームアプリを書いています。このプログラムは、iPad(safari/webkit)でWebサーバーからホストされている場合は正常に機能します。ここではこれ以上説明する必要はありません。また、Androidの最新バージョン(v.25以降など)が使用されている限り、ChromeタブレットでWebサーバーからホストされている場合でも問題なく動作します。
このプログラムはインターネットにまったくアクセスしませんが、そのSVGグラフィックスで再生し、Javascriptを実行し、HTML5 localStorage()にステータスを保存します。
古いAndroidタブレットの「デフォルトブラウザ」でプログラムを実行すると、SVGグラフィックスが正しく処理されないため、タブレットのChromeの最新バージョンに対する要件があります。
アプリ用のAPKを作成しましたが、本当に新しいChromeタブレットにインストールしたときに、Androidブラウザーを使用していないことがわかりました。むしろ、APKに埋め込まれた、またはタブレットに残っているライブラリが存在するAPKから少なくとも呼び出されたブラウザを使用しているようです。
APKの目的は、最近のWebkitブラウザーでコードを表示することです。これは、Chrome環境で実行することを意味するようです。
私の質問のために、私は何かを変える必要があります。でも何?
私の親愛なる読者は私に手がかりを持っていますか?
おかげで、
ジェローム。
Crosswalk をお勧めしますが、2017年3月19日以降、EOLと宣言されています(詳細は以下)。それでも、最も安定したソリューションであり、私たちのチームは現在、実稼働アプリケーションで使用しています。簡単に言えば、Chromiumベースのwebviewをapk内にパッケージ化し、Intelの支援を受けています。 Android 4.X.
公式セールスピッチ:
Crosswalkは、野心的なHTML5アプリケーション用のWebランタイムです。最新のブラウザのすべての機能に加えて、深いデバイス統合とネイティブ拡張を追加するためのAPIを組み合わせています。特にモバイルデバイスに適しています。AndroidとTizenの両方をサポートしています。
Cordova 4.0.0以降には公式のCrosswalkプラグインがあり、起動と実行が非常に簡単になります: https:// github.com/crosswalk-project/cordova-plugin-crosswalk-webview
Cordovaプロジェクトを実行している場合、必要なことは
cordova plugin add cordova-plugin-crosswalk-webview --save
crosswalk webviewプラグインを追加します。次のビルドでは、すべての依存関係を取得し、すべてを適切にパッケージ化します。
Android 4.4.x
On Android 4.4は、ハイブリッドアプリがChromiumベースのWebViewで実行されますが、同じバージョンに永久に固定されます(間違えなければChromium 33です)。ここでもCrosswalkを使用することをお勧めします。
Android 5.0 +
Android 5.0以降の場合、Chromium WebViewはGoogle Playで更新されます。詳細はこちら: http://developer.Android.com/about/versions/ Lollipop.html#WebView
CrossWalkバージョン20以降
CrossWalkは、バージョン20以降でAndroid 4.0.Xのサポートを終了します。サポートマトリックスに4.0.Xを保持する必要がある場合は、アップグレードしないでください。 Android 5.X以降では、CrossWalkはまったく含まれなくなりました。 これに関する詳細情報
Crosswalk v23が最後のリリースです(EOL)
Crosswalkは、2017年1月に最後の安定バージョンであるバージョン23をリリースすることを決定しました。これにより、Crosswalkの公式サポートが終了し、バグ修正などがコミュニティに残されます。 blogpost の詳細
注意!
モバイルハイブリッドアプリを実行すると、システムのWebビューに依存するときよりもCrosswalkのグラフィックパフォーマンスが優れていることがわかりました(Android 5.xであるSony Xperia ZLでテストしたため、WebViewなぜですか、まだわからないのですが、Crosswalkが特定の方法でWebviewを構成しているのでしょうか?これはさらに調査する必要があります。
https://github.com/thedracle/cordova-Android-chromeview は新しいプロジェクトであり、より多くの作業が必要ですが、chromeviewプロジェクトとCordovaを組み合わせてCordovaにクロムを埋め込みますAndroidアプリケーション
これは有望なオプションのように見えます: Crosswalk + Cordova 。
利点:
Githubリポジトリ: https://github.com/crosswalk-project/crosswalk-cordova-Android 。
2014の回答を更新しました: Android 4.4以降ではChromeデフォルトではwebview 。This現在、Chromeバージョン30をベースにしています。
1つのオプションは、適切なサイトへのリンクでChromeブラウザーを起動することです。
これは優れたユーザーエクスペリエンスではありませんが、その方法の一部を利用できる可能性があります。
次の行に沿って、Chromeブラウザをチェックして起動できます。
String url = "http://www.totallyawesomeurl.com";
String packageName = "com.Android.chrome";
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
browserIntent.setPackage(packageName);
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
List<ResolveInfo> activitiesList = context.getPackageManager().queryIntentActivities(
browserIntent, -1);
if(activitiesList.size() > 0) {
// Found the browser on the device, launch it
context.startActivity(browserIntent);
} else {
// The browser isn't installed, so we should Prompt the user to get
Intent playStoreIntent = new Intent(Intent.ACTION_VIEW);
playStoreIntent.setData(Uri.parse("market://details?id="+packageName));
playStoreIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(playStoreIntent);
}
Chrome for Androidは、ICS以上のデバイスでのみ利用可能です。そのため、 minimumTargetSDKを14に設定し、おそらくOperaの古いバージョンのAndroidサイトがOpera whichパッケージ名は「com.opera.browser」です