memorandum
thinking about creation

すでにサポートが終了しているという、android標準ブラウザについて

Entry Date _ 2016.06.03
/
ModifiedDate _ 2016.06.27

android端末には、あらかじめ「ブラウザ」と名付けられたブラウザがインストールされているものが多い。

この「ブラウザ」は、まるで自分こそが真のブラウザであるとでも言わんばかりであるが、にも関わらず、どのようなブラウザであるのか把握しずらい印象がある。そもそも、このブラウザはGoogleが開発しているものであり、GoogleにはChromeがあるではないか。

それはともかく、他のブラウザと区別するために「android標準ブラウザ」と呼ばれているこのブラウザで発生した不具合に、いくつかの案件で立て続けに悩まされたこともあり、あらためて調べてみることにした。不具合を具体的に言うとSVGのマスクが効かなかったり、Canvasの表示がおかしかったり、他にもいろいろあるのだが、ここではその詳細を述べることはしない。

結論から言うと、標準ブラウザは既にサポートが終了されている…はずだ。探しても公式な発表らしきものは見当たらないのだが、つまり、andoroid 4.4(kitkat) 以降は、この標準ブラウザが搭載されていないらしいのだ。

らしいと言葉を濁したのは、それも各android端末の対応がまちまちで、4.4以降でも搭載されているものがあるからだ。ただ、それも4.3までの標準ブラウザとは違うものであるらしく、その辺がどうも把握しづらい。何をもって「標準ブラウザ」とすればよいのかすら特定が困難である。

【参考】Android 4.2/4.3/4.4の標準ブラウザはChromeなのか?(2014/05/27)

【参考】Android 4.4 Browser が大幅に機能強化しているようです
Android 4.4 (KitKat) からは、 AOSP Stock Browser(通称 Android Browser)のサポートが終了し、代わりに、Chrome WebView (Chromium) をラップしたブラウザが提供されています。

ただ、下記の2015年01月26日に公開された記事で、4.3(Jelly Bean)以前の標準ブラウザの修正パッチの提供打ち切りとあり、不具合に悩まされたバージョンもこれに当てはまる。なのでサポートが終了し、なんらかの対応を考えなければいけないのは「4.3以前の標準ブラウザ」ということになるだろう。

【参考】Android 4.3以前の標準ブラウザーは修正パッチの提供打ち切り、セキュリティ担当者が見解を示す(2015/1/26)

さらに言えば、脆弱性があるにも関わらず更新されないということはセキュリティ上危険であり、積極的に他のブラウザに乗り換えることが推奨されるわけでけである。これは先方にこのブラウザを対象外と説明する根拠になるだろう。

状況を整理するために、Androidの4.1からのバージョン履歴をまとめてみる。

Android 4.1/4.2/4.3Jelly Bean2012年6月
Android 4.4kitkat2013年10月
Android 5.0/5.1Lollipop2014年6月
Android 6.0Marshmallow2015年10月

さらに、Googleが公表する2016年5月の世界中で使われているAndroidのバージョン別シェアは以下のとおり。

1位5.0/5.1(Lollipop)35.6%
2位4.4(kitkat)32.5%
3位4.1/4.2/4.3(Jelly Bean)20.1%
4位Marshmallow7.5%
5位Gingerbread2.2%

Jelly Beanのシェアはまだ20%ほどある。まだ容易には無視はできないだろう。具体的な対応としては、下記で紹介しているように、標準ブラウザであったらChromeにうながすのがよいかもしれない。

【参考】滅び行くAndroid 標準ブラウザをサポート外にして悩みの種をなくす話(2015/11/11)

上記のページに記されている、「Chromeがあるときはインテントさせて、ないときはGoogle Playに飛ばす方法」を参考に本エントリーに適用してみた。4.3以前のandroidか、なければエミュレータなどで、その挙動を確認できるはずだ。

#androidBrowser_alert{
	position:fixed;
	top:0; left:0;
	height:100%; width:100%;
	background:black;
	opacity:0.80;
}
#androidBrowser_alert div.wrap{
	position:fixed;
	top:50%; left:50%;
	margin-top:-150px; margin-left:-160px;
	background:#313131;
	max-width:320px;
}
#androidBrowser_alert div.con{
	border:solid 1px #fff;
	padding:20px;
	line-height:150%;
	font-size:14px;
	color:#fff;
}
#androidBrowser_alert a.go2chrome{
	display:block;
	text-align:center;
	background:black;
	padding:5px;
}
$(function(){
	var url = window.location.href;
	var protocols = url.split('//');
	var protocol = protocols[0].replace(/:/g, "");
			
	if (isAndroidBrowser()){
		$('#androidBrowser_alert').click(function(){
			$(this).hide();
		});
		$('#androidBrowser_alert a.go2chrome').click(function(){
			location.href = "intent://" + protocols[1] + "#Intent;scheme=" + protocol + ";action=android.intent.action.VIEW;package=com.android.chrome;end";
		});
	}else{
		$('#androidBrowser_alert').hide();
	}
	
	/*
	 * isAndroidBrowser
	 */
	function isAndroidBrowser(){
		var androidBrowser = false;
		var ua = window.navigator.userAgent
		if (/Android/.test(ua) && /Linux; U;/.test(ua) && !/Chrome/.test(ua)) {
			androidBrowser = true
		}
		return androidBrowser;
	}
});

現在お使いのAndroid標準ブラウザには脆弱性が存在しセキュリティ上の危険があります。Googleのサポートが終了しているため、今後この脆弱性が修正されることはありません。動作保証外となりますので、一部正しく表示されないページがあります。Chaordic Design | memorandumではGoogle Chromeでのご利用を推奨しております。

Google Chromeで表示する

現在お使いのAndroid標準ブラウザには脆弱性が存在しセキュリティ上の危険があります。Googleのサポートが終了しているため、今後この脆弱性が修正されることはありません。動作保証外となりますので、一部正しく表示されないページがあります。Chaordic Design | memorandumではGoogle Chromeでのご利用を推奨しております。

Google Chromeで表示する

Category

memorandum index