Permalink
Browse files

webview_packages: prefer the more powerful webview packages

If Gapps are installed, better webview providers
become avaliable.

This commit adds support for those and makes the system
choose the best provider: Chrome Stable>Google Webview>AOSP Webview

It also allows the user to choose between additional
providers from Play Store: Chrome Beta, Chrome Dev and Chrome Canary.

AOSP WebView is used as Fallback in case no Gapps were installed.
If Gapps were detected, AOSP WebView will be blocked and cannot be
chosen any more.

This patch is a collobarative work of:

mfonville <maarten.fonville@gmail.com> @mfonville
rapperskull <rapper.skull@hotmail.it> @rapperskull
Arne-Christian Blystad <arne.christian.blystad@bartec-pixavi.com> @Blystad
Alex Naidis <alex.naidis@linux.com> @TheCrazyLex

You can find more information on this topic here: opengapps/aosp_build#76

Change-Id: I3beecf38c75600ec05c9018259dfe3b539b73614
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
  • Loading branch information...
mfonville authored and TheCrazyLex committed Sep 26, 2016
1 parent aa6c724 commit d36582165d4694da101cc65755af0841d443c80e
Showing with 16 additions and 2 deletions.
  1. +16 −2 core/res/res/xml/config_webview_packages.xml
@@ -15,7 +15,21 @@
-->
<webviewproviders>
<!-- The default WebView implementation -->
<webviewprovider description="Android WebView" packageName="com.android.webview" availableByDefault="true">
<webviewprovider description="Chrome Stable" packageName="com.android.chrome" availableByDefault="true" />
<signature>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</signature>
<webviewprovider description="Chrome Beta" packageName="com.chrome.beta">
<signature>MIIDwzCCAqugAwIBAgIJAOoj9MXoVhH6MA0GCSqGSIb3DQEBBQUAMHgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKDAtHb29nbGUgSW5jLjEQMA4GA1UECwwHQW5kcm9pZDEUMBIGA1UEAwwLY2hyb21lX2JldGEwHhcNMTYwMjI5MTUxNTIzWhcNNDMwNzE3MTUxNTIzWjB4MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEUMBIGA1UECgwLR29vZ2xlIEluYy4xEDAOBgNVBAsMB0FuZHJvaWQxFDASBgNVBAMMC2Nocm9tZV9iZXRhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo/wW27nRxVqGbFOyXr8jtv2pc2Ke8XMr6Sfs+3JK2licVaAljGFpLtWH4wUdb50w/QQSPALNLSSyuK/94rtp5Jjs4RSJI+whuewV/R6El+mFXBO3Ek5/op4UrOsR91IM4emvS67Ji2u8gp5EmttVgJtllFZCbtZLPmKuTaOkOB+EdWIxrYiHVEEaAcQpEHa9UgWUZ0bMfPj8j3F0w+Ak2ttmTjoFGLaZjuBAYwfdctN1b0sdLT9Lif45kMCb8QwPp0F9/ozs0rrTc+I6vnTS8kfFQfk7GIE4Hgm+cYQEHkIA6gLJxUVWvPZGdulAZw7wPt/neOkazHNZPcV4pYuNLQIDAQABo1AwTjAdBgNVHQ4EFgQU5t7dhcZfOSixRsiJ1E46JhzPlwowHwYDVR0jBBgwFoAU5t7dhcZfOSixRsiJ1E46JhzPlwowDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAZO2jB8P1d8ki3KZILvp27a2VM3DInlp8I8UgG3gh7nBQfTrnZr5M1PL8eFHqX7MEvAiGCMTcrPklEhjtcHK/c7BcdeCWq6oL56UK3JTl33RxJcjmjrz3e3VI6ehRSm1feNAkMD0Nr2RWr2LCYheAEmwTPtluLOJS+i7WhnXJzBtg5UpUFEbdFYenqUbDzya+cUVp0197k7hUTs8/Hxs0wf79o/TZXzTBq9eYQkiITonRN8+5QCBl1XmZKV0IHkzGFES1RP+fTiZpIjZT+W4tasHgs9QTTks4CCpyHBAy+uy7tApe1AxCzihgecCfUN1hWIltKwGZS6EE0bu0OXPzaQ==</signature>
</webviewprovider>
<webviewprovider description="Chrome Dev" packageName="com.chrome.dev">
<signature>MIIDwTCCAqmgAwIBAgIJAOSN+O0cdii5MA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKDAtHb29nbGUgSW5jLjEQMA4GA1UECwwHQW5kcm9pZDETMBEGA1UEAwwKY2hyb21lX2RldjAeFw0xNjAyMjkxNzUwMDdaFw00MzA3MTcxNzUwMDdaMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKDAtHb29nbGUgSW5jLjEQMA4GA1UECwwHQW5kcm9pZDETMBEGA1UEAwwKY2hyb21lX2RldjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOYPj6Y9rVt8xizSHDYjDEkDfFZAgSiZ9T6tevkQXsFyfaq3Gk3h2qssi29G6cTPJ2VXFKlVB71wSXv5p9/LEcDQPWQiO3Q2cLmgUXxyhJWXI3g96tPAhZQX2q6SC37ZQdiBR/raMO70DAkvCyBGtNplsvutzSE3oZ7LYfzB8vTbe7zCh3fDYSS/7xb3ZVvFqydHS40uVq1qqg1S80Pge7tW3pDGsPMZN7yA4yfmsvA1rbHm9N8t3Rc9hqzh6OxNAAgRB535YcsWL7iF+mpdFILXk3jLYT0nMvMnB83rsdgnRREjlGQYHl2mh8+6CqujsW/eICDq/LR6BYDyqHhk0ECAwEAAaNQME4wHQYDVR0OBBYEFKzsl07JglgpbeYDYGqsgqRDo+01MB8GA1UdIwQYMBaAFKzsl07JglgpbeYDYGqsgqRDo+01MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBACka6SFF6xAcj8L8O6R36++E09DTiGZEjvKT8eIycgcQQ+p1WUmPb6M2EJpN6zvvSE62ussmXdzf8rIyc0JXA8jbViZt62Y39epNENFxPTLN9QzXlT+w8AW73Ka3cnbOuL5EgoDl8fM79WVlARY3X+wB/jGNrkiGIdRm2IZIeAodWgC2mtXMiferyYBKz2/F2bhnU6DwgCbegS8trFjEWviijWdJ+lBdobn7LRc3orZCtHl8UyvRDi7cye3sK9y3BM39k0g20F21wTNHAonnvL6zbuNgpd+UEsVxDpOeWrEdBFN7Md0CI2wnu8eA8ljJD45v0WWMEoxsIi131g5piNM=</signature>
</webviewprovider>
<webviewprovider description="Chrome Canary" packageName="com.chrome.canary">
<signature>MIIDxzCCAq+gAwIBAgIJAML7APITsgV7MA0GCSqGSIb3DQEBBQUAMHoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKDAtHb29nbGUgSW5jLjEQMA4GA1UECwwHQW5kcm9pZDEWMBQGA1UEAwwNY2hyb21lX2NhbmFyeTAeFw0xNjAyMjkxOTA5MDdaFw00MzA3MTcxOTA5MDdaMHoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKDAtHb29nbGUgSW5jLjEQMA4GA1UECwwHQW5kcm9pZDEWMBQGA1UEAwwNY2hyb21lX2NhbmFyeTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANXfeAoZlr0ya1HBzIfAz/nLLjpPJeAPvuX5dueaxmiQgv2hNG22acriFuiiJI6TU0t8AIVJD5Ifbc4OOuA0zeFhdzWWGnmTRH6x27WI7bzOKnAqOvv21ZBmE9i8Vo++K13xWdTs3qVn1bn9oUONxFu0wKDzXYZhoj1Jom0RZGjXm16xuPlEuOzMcjiNBDoYuxPAXkMcK/G1gP4P4nAV8Rd/GGIjKRS/SUtcShhoAMOQhs4WIEkUrvEVRwhBDIbpM87oFbCVdBH38r0XS6F6CdhPJsKFhoEfq4c01HZqNmDpCPA8AAcCuSWqmXoTIqs7OqkWgduE2bInbWU7WMaTl+kCAwEAAaNQME4wHQYDVR0OBBYEFB/AsC4iPAqaLoNytNSx29qByI7+MB8GA1UdIwQYMBaAFB/AsC4iPAqaLoNytNSx29qByI7+MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAMb2Td3ro/+MGVnCPAbwBSOZMVLUKGqt6zr8CShW9mtFHnmy29EaWSYYAj1M4+6Vpkq85NsgBEck7rnUjV8A3Q0NKdTys1KRKJqVvQRBN6SwqQenSf/abxQCa8Z+69rh+3BkIU1HLtu5lrMDZwon5H91L5mpORn6vItd20uW132lwSDeUEW2CHslTrodoFuTUcSUlRiq/URfUH3baO1QHXkxpQwrBPKL5deJfcZnxh5MAtAGSQL7gHvayEFlDppETXdDO7vgGTH2dEK2TjKWALbGiKkxSqjRyTNt4/FOj10TqNRdUamj+ydVJgzGQ8bki4Vc6NnKm/r4asusxapkVR4=</signature>
</webviewprovider>
<webviewprovider description="Google WebView" packageName="com.google.android.webview" availableByDefault="true">
<signature>MIIFqAYJKoZIhvcNAQcCoIIFmTCCBZUCAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwGgggO/MIIDuzCCAqOgAwIBAgIJANi6DgBQG4ZTMA0GCSqGSIb3DQEBBQUAMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKDAtHb29nbGUgSW5jLjEQMA4GA1UECwwHQW5kcm9pZDEQMA4GA1UEAwwHd2VidmlldzAeFw0xNDA4MDgyMzIwMjBaFw00MTEyMjQyMzIwMjBaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKDAtHb29nbGUgSW5jLjEQMA4GA1UECwwHQW5kcm9pZDEQMA4GA1UEAwwHd2VidmlldzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbtaFX0r5aZJMAbPVMAgK1ZZ29dTn91VsGxXv2hqrQo7IpqEy2JmPvPnoMsSiuTAe+UcQy8oKDQ2aYVSAd1DGIy+nSRyFTt3LSIAdwSBkB1qT4a+OqkpsR6bSNXQXQ18lCQu9gREY3h3QlYBQAyzRxw4hRGlrXAzuSz1Ec4W+6x4nLG5DG61MAMR8ClF9XSqbmGB3kyZ70A0X9OPYYxiMWP1ExaYvpaVqjyZZcrPwr+vtW8oCuGBUtHpBUH3OoG+9s2YMcgLG7vCK9awKDqlPcJSpIAAj6uGs4gORmkqxZRMskLSTWbhP4p+3Ap8jYzTVB6Y1/DMVmYTWRMcPW0macCAwEAAaNQME4wHQYDVR0OBBYEFJ6bAR6/QVm4w9LRSGQiaR5Rhp3TMB8GA1UdIwQYMBaAFJ6bAR6/QVm4w9LRSGQiaR5Rhp3TMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAEQu8QiVxax7/diEiJrgKE1LwdXsIygJK/KnaKdnYEkAQpeu/QmrLiycm+OFbL1qHJIB7OuI/PQBUtcaNSiJSCVgtwtEbZWWIdsynqG/Nf4aGOndXegSQNRH54M05sRHLoeRycPrY7xQlEwGikNFR76+5UdwFBQI3Gn22g6puJnVukQm/wXQ+ajoiS4QclrNlixoDQsZ4STLH4+Wju2wIWKFFArIhVEIlbamq+p6BghuzH3aIz/Fy0YTQKi7SA+0fuNeCaqlSm5pYSt6p5CH89y1Fr+wFc5r3iLRnUwRcy08ESC7bZJnxV3d/YQ5valTxBbzku/dQbXVj/xg69H8l8MxggGtMIIBqQIBATCBgTB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4xEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB3dlYnZpZXcCCQDYug4AUBuGUzANBglghkgBZQMEAgEFADANBgkqhkiG9w0BAQEFAASCAQA4sdv33hQE0VWxxe/wRqXgjKF3OTS0yO7BkhshxxJn8Nk7KuXzlautZhPssam+oWgL4P3kWtNe6CxATbObcwFtv6HENOcg5v7fkXILZYsWEmg7cgmlww2DNS6cCRVlM08HlUJuEbcu6RW6D/dzWLhzu5rKwi26DpJ9QlNYdGq6xPICa38w1/E+U47LgprRmmUyd1fulHYO/X0uyLuUVc/f6fwDjtjyOTT/yGVEXLFFbrcj/QMaJs2Zx55ym+iq/eDRrfGlOaYttu/cWMBTUxnNo+fpCrz1SWMqR8i6h2TipI/gXevPze0DVZHpvx65nqzBdh/WxM9PKEMCl1YTudir</signature>
</webviewprovider>
<!-- The default WebView implementation -->
<webviewprovider description="AOSP WebView" packageName="com.android.webview" availableByDefault="true" isFallback="true" />
</webviewproviders>

27 comments on commit d365821

@beanstown106

This comment has been minimized.

Show comment
Hide comment
@beanstown106

beanstown106 Oct 7, 2016

Was pulled from factory image

Was pulled from factory image

@TheCrazyLex

This comment has been minimized.

Show comment
Hide comment
@TheCrazyLex

TheCrazyLex Oct 7, 2016

Member

That's way worse since:

  1. it doesn't have signatures for everything, means it's not safe
  2. it misses AOSP webview. Means if someone doesn't install gapps, he has no webview at all. Including google webview into the ROM doesn't seem to be a good solution to me.
Member

TheCrazyLex replied Oct 7, 2016

That's way worse since:

  1. it doesn't have signatures for everything, means it's not safe
  2. it misses AOSP webview. Means if someone doesn't install gapps, he has no webview at all. Including google webview into the ROM doesn't seem to be a good solution to me.
@beanstown106

This comment has been minimized.

Show comment
Hide comment
@beanstown106

beanstown106 Oct 7, 2016

Ya I just grabbed the overlay from the factory image a few weeks baxk, and it worked initially, someone just linked me here though, will probably ditch it though and grab yours less things to track the better :)

Ya I just grabbed the overlay from the factory image a few weeks baxk, and it worked initially, someone just linked me here though, will probably ditch it though and grab yours less things to track the better :)

@TheCrazyLex

This comment has been minimized.

Show comment
Hide comment
@TheCrazyLex

TheCrazyLex Oct 7, 2016

Member

yea and you can be sure that Google won't sue you ;)

Member

TheCrazyLex replied Oct 7, 2016

yea and you can be sure that Google won't sue you ;)

@AKPWebDesign

This comment has been minimized.

Show comment
Hide comment
@AKPWebDesign

AKPWebDesign Oct 25, 2016

The Chrome Stable definition here (L19-20) seems strange to me. It's a self-closing tag, but then there's a tag after it, which wouldn't be inside the Chrome Stable definition, since that's already been closed. Is that intentional?

The Chrome Stable definition here (L19-20) seems strange to me. It's a self-closing tag, but then there's a tag after it, which wouldn't be inside the Chrome Stable definition, since that's already been closed. Is that intentional?

@kronflux

This comment has been minimized.

Show comment
Hide comment
@kronflux

kronflux Oct 27, 2016

AKPWebDesign is correct
<webviewprovider description="Chrome Stable" packageName="com.android.chrome" availableByDefault="true" />
should be
<webviewprovider description="Chrome Stable" packageName="com.android.chrome" availableByDefault="true">
The closing / in the tag thereby makes the following signature tag a standalone value unrelated to the Chrome Stable tag.

AKPWebDesign is correct
<webviewprovider description="Chrome Stable" packageName="com.android.chrome" availableByDefault="true" />
should be
<webviewprovider description="Chrome Stable" packageName="com.android.chrome" availableByDefault="true">
The closing / in the tag thereby makes the following signature tag a standalone value unrelated to the Chrome Stable tag.

@TheCrazyLex

This comment has been minimized.

Show comment
Hide comment
@TheCrazyLex

TheCrazyLex Oct 27, 2016

Member

You are both correct @AKPWebDesign @kronflux .
We are currently investigating the consequences of applying a fix here.
For now it is not recommended to fix this mistake.

I will update here on any news.

Thanks.

Member

TheCrazyLex replied Oct 27, 2016

You are both correct @AKPWebDesign @kronflux .
We are currently investigating the consequences of applying a fix here.
For now it is not recommended to fix this mistake.

I will update here on any news.

Thanks.

@beanstown106

This comment has been minimized.

Show comment
Hide comment
@beanstown106

beanstown106 Oct 28, 2016

@TheCrazyLex why would fixing this have any ill effects?

@TheCrazyLex why would fixing this have any ill effects?

@kronflux

This comment has been minimized.

Show comment
Hide comment
@kronflux

kronflux Oct 28, 2016

Actually, I tried compiling CyanogenMod 14.1 with this error corrected, and it caused a build failure. I was stupid, and didn't make note of why, but as soon as I re-added the slash to the tag, it built perfectly fine.

This is still an error in the above commit, but the failure to build implies an issue elsewhere, which this error either fixes or simply allows it to ignore.

Actually, I tried compiling CyanogenMod 14.1 with this error corrected, and it caused a build failure. I was stupid, and didn't make note of why, but as soon as I re-added the slash to the tag, it built perfectly fine.

This is still an error in the above commit, but the failure to build implies an issue elsewhere, which this error either fixes or simply allows it to ignore.

@AKPWebDesign

This comment has been minimized.

Show comment
Hide comment
@AKPWebDesign

AKPWebDesign Oct 28, 2016

@kronflux That's because simply removing the slash changes it from functional XML that doesn't work as intended to malformed XML. To properly solve the issue, it would need to be changed like this:

<webviewprovider description="Chrome Stable" packageName="com.android.chrome" availableByDefault="true">
     <signature>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</signature>
</webviewprovider>

Basically, that element needs to mimic how all the others with signatures are, with the signature actually being enclosed within the <webviewprovider> element.

AKPWebDesign replied Oct 28, 2016

@kronflux That's because simply removing the slash changes it from functional XML that doesn't work as intended to malformed XML. To properly solve the issue, it would need to be changed like this:

<webviewprovider description="Chrome Stable" packageName="com.android.chrome" availableByDefault="true">
     <signature>MIIGMAYJKoZIhvcNAQcCoIIGITCCBh0CAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwGgggRHMIIEQzCCAyugAwIBAgIJAMLgh0ZkSjCNMA0GCSqGSIb3DQEBBAUAMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAeFw0wODA4MjEyMzEzMzRaFw0zNjAxMDcyMzEzMzRaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAKtWLgDYO6IIrgqWbxJOKdoR8qtW0I9Y4sypEwPpt1TTcvZApxsdyxMJZ2JORland2qSGT2y5b+3JKkedxiLDmpHpDsz2WCbdxgxRczfey5YZnTJ4VZbH0xqWVW/8lGmPav5xVwnIiJS6HXk+BVKZF+JcWjAsb/GEuq/eFdpuzSqeYTcfi6idkyugwfYwXFU1+5fZKUaRKYCwkkFQVfcAs1fXA5V+++FGfvjJ/CxURaSxaBvGdGDhfXE28LWuT9ozCl5xw4Yq5OGazvV24mZVSoOO0yZ31j7kYvtwYK6NeADwbSxDdJEqO4k//0zOHKrUiGYXtqw/A0LFFtqoZKFjnkCAQOjgdkwgdYwHQYDVR0OBBYEFMd9jMIhF1Ylmn/Tgt9r45jk14alMIGmBgNVHSMEgZ4wgZuAFMd9jMIhF1Ylmn/Tgt9r45jk14aloXikdjB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4xEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB0FuZHJvaWSCCQDC4IdGZEowjTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4IBAQBt0lLO74UwLDYKqs6Tm8/yzKkEu116FmH4rkaymUIE0P9KaMftGlMexFlaYjzmB2OxZyl6euNXEsQH8gjwyxCUKRJNexBiGcCEyj6z+a1fuHHvkiaai+KL8W1EyNmgjmyy8AW7P+LLlkR+ho5zEHatRbM/YAnqGcFh5iZBqpknHf1SKMXFh4dd239FJ1jWYfbMDMy3NS5CTMQ2XFI1MvcyUTdZPErjQfTbQe3aDQsQcafEQPD+nqActifKZ0Np0IS9L9kR/wbNvyz6ENwPiTrjV2KRkEjH78ZMcUQXg0L3BYHJ3lc69Vs5Ddf9uUGGMYldX3WfMBEmh/9iFBDAaTCKMYIBrTCCAakCAQEwgYEwdDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC0dvb2dsZSBJbmMuMRAwDgYDVQQLEwdBbmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkAgkAwuCHRmRKMI0wDQYJYIZIAWUDBAIBBQAwDQYJKoZIhvcNAQEBBQAEggEAm7/k8J2fDfLj8Uc1Gf6xq6cM/Te95S7o2Si3wA1ypP069c7Aityb3Zq68phJlhpJGZZl+Y8TPF0Gu+d+RbrFckS/kZugJJL6+kJDGXKdm6YwPQECpPHuT2aK7MHMMxwDy1UhXRJvKM7hSaQYlUpzOi27aY7iYZgoinahiD0zK6UgIo0q1U9IE+G8sBlPZvgdIrelQzY4Y10S/5oy0Tnc/I5kiNCVECMqhZqLkRBtTTZkTkqzFhNTf7Hrq33tNipwt3gLD/z/IFT4hNy0EpgIJj+X2WskeI7q+/TH0pzGzLC7OHeE0gJNBZNaHQpMUEIZCBciomw6KUOgQEHL1vrPyw==</signature>
</webviewprovider>

Basically, that element needs to mimic how all the others with signatures are, with the signature actually being enclosed within the <webviewprovider> element.

@kronflux

This comment has been minimized.

Show comment
Hide comment
@kronflux

kronflux Oct 28, 2016

Oh. Wow. Okay, it's been a long day, so give me some credit. xD
I even made note of that when I originally saw this error, but in building it didn't even click in my head.
Thanks for pointing it out >,>

Oh. Wow. Okay, it's been a long day, so give me some credit. xD
I even made note of that when I originally saw this error, but in building it didn't even click in my head.
Thanks for pointing it out >,>

@AKPWebDesign

This comment has been minimized.

Show comment
Hide comment
@AKPWebDesign

AKPWebDesign Oct 28, 2016

No problem! 👍

No problem! 👍

@blunden

This comment has been minimized.

Show comment
Hide comment
@blunden

blunden Oct 29, 2016

Contributor

Any reason Chrome and Google WebView were both set to availableByDefault="true"? This is often not the case even with gapps.

Contributor

blunden replied Oct 29, 2016

Any reason Chrome and Google WebView were both set to availableByDefault="true"? This is often not the case even with gapps.

@mfonville

This comment has been minimized.

Show comment
Hide comment
@mfonville

mfonville Oct 30, 2016

@blunden the availableByDefault name is a bit misleading, but if you check the AOSP-code and read the testing results in opengapps/aosp_build#76 there must be at the very least be one package with that tag be available, and when GApps installs the Google webview, we tend to purge the AOSP webview.

@blunden the availableByDefault name is a bit misleading, but if you check the AOSP-code and read the testing results in opengapps/aosp_build#76 there must be at the very least be one package with that tag be available, and when GApps installs the Google webview, we tend to purge the AOSP webview.

@blunden

This comment has been minimized.

Show comment
Hide comment
@blunden

blunden Oct 30, 2016

Contributor

I see, thanks. I seemed to miss that part. Setting the AOSP WebView as isFallback doesn't seem necessary though unless you specifically want it disabled when the any of the others are installed.

Contributor

blunden replied Oct 30, 2016

I see, thanks. I seemed to miss that part. Setting the AOSP WebView as isFallback doesn't seem necessary though unless you specifically want it disabled when the any of the others are installed.

@TheCrazyLex

This comment has been minimized.

Show comment
Hide comment
@TheCrazyLex

TheCrazyLex Oct 30, 2016

Member

@blunden that's exactly what we want since if others are installed and the gapps package uninstalls AOSP webview, we would have the security risk that if someone installs a fake package with the same package name it would be accepted.

Member

TheCrazyLex replied Oct 30, 2016

@blunden that's exactly what we want since if others are installed and the gapps package uninstalls AOSP webview, we would have the security risk that if someone installs a fake package with the same package name it would be accepted.

@blunden

This comment has been minimized.

Show comment
Hide comment
@blunden

blunden Oct 30, 2016

Contributor

@TheCrazyLex However, if the gapps does not replace it and the user doesn't install Chrome Stable, it will likely cause a boot loop with the message "There must be at least one WebView package that is available by default and not a fallback". To be an issue, that fake AOSP WebView package would have to be installed on /system to be picked up as an available choice.

Contributor

blunden replied Oct 30, 2016

@TheCrazyLex However, if the gapps does not replace it and the user doesn't install Chrome Stable, it will likely cause a boot loop with the message "There must be at least one WebView package that is available by default and not a fallback". To be an issue, that fake AOSP WebView package would have to be installed on /system to be picked up as an available choice.

@TheCrazyLex

This comment has been minimized.

Show comment
Hide comment
@TheCrazyLex

TheCrazyLex Oct 30, 2016

Member

@blunden that works fine with testing with over 15 thousand users

Member

TheCrazyLex replied Oct 30, 2016

@blunden that works fine with testing with over 15 thousand users

@TheCrazyLex

This comment has been minimized.

Show comment
Hide comment
@TheCrazyLex

TheCrazyLex Oct 31, 2016

Member

Hey,
this is an automatically generated message. Since you applied this patch, we recommend you to apply another patch to fix a security vulnerability which was introduced with the patch this message is commented on.

You can find the patch here: b70f599

For more information check here: https://github.com/opengapps/opengapps/wiki/Notes-for-Android-7.0

Thank you!
TheCrazyLex

Member

TheCrazyLex replied Oct 31, 2016

Hey,
this is an automatically generated message. Since you applied this patch, we recommend you to apply another patch to fix a security vulnerability which was introduced with the patch this message is commented on.

You can find the patch here: b70f599

For more information check here: https://github.com/opengapps/opengapps/wiki/Notes-for-Android-7.0

Thank you!
TheCrazyLex

@victorlapin

This comment has been minimized.

Show comment
Hide comment
@victorlapin

victorlapin Nov 7, 2016

Guys, anyone tried to add Chromium, or its clones, as a provider? I ended up bootlooping, probably did something wrong =)

victorlapin replied Nov 7, 2016

Guys, anyone tried to add Chromium, or its clones, as a provider? I ended up bootlooping, probably did something wrong =)

@fvsgamers

This comment has been minimized.

Show comment
Hide comment
@fvsgamers

fvsgamers Dec 21, 2016

Hello guys, where should I add these lines to run the webview in the motorola moto g3? I use the build cyanogenmod CM14 android 7.1, where should I add these lines ai? Thank you!

Hello guys, where should I add these lines to run the webview in the motorola moto g3? I use the build cyanogenmod CM14 android 7.1, where should I add these lines ai? Thank you!

@blunden

This comment has been minimized.

Show comment
Hide comment
@blunden

blunden Dec 21, 2016

Contributor

@fvsgamers This is not something you as a user add, it's something the custom ROM needs to do or something you can add to your own custom builds. I already added a version of this change in CM a while back. You can change the current WebView under Settings -> Development settings.

Contributor

blunden replied Dec 21, 2016

@fvsgamers This is not something you as a user add, it's something the custom ROM needs to do or something you can add to your own custom builds. I already added a version of this change in CM a while back. You can change the current WebView under Settings -> Development settings.

@fvsgamers

This comment has been minimized.

Show comment
Hide comment
@fvsgamers

fvsgamers Dec 21, 2016

Well i have this option of choice here in settings, but has an application in the case of my bank that i use is giving failure in communication, in version 6.0 did not give it, and as soon as I did for 7.1 gave it, dai saw these things pertaining to webview and thought it could be, but anyway, I downloaded the current version of cyanogen, but I downloaded the apps from the Http://opengapps.org/ think i cannot download then the app on this site is not?

Well i have this option of choice here in settings, but has an application in the case of my bank that i use is giving failure in communication, in version 6.0 did not give it, and as soon as I did for 7.1 gave it, dai saw these things pertaining to webview and thought it could be, but anyway, I downloaded the current version of cyanogen, but I downloaded the apps from the Http://opengapps.org/ think i cannot download then the app on this site is not?

@blunden

This comment has been minimized.

Show comment
Hide comment
@blunden

blunden Dec 21, 2016

Contributor

@fvsgamers This is not a support forum, it's a developer resource. Everytime you (or I) respond we cause an email to be sent to multiple people.

Since you are asking about CM, I suggest you ask on our Google+ community (or XDA as you might find other users of the same app there). I'm not sure your issue has anything to do with the WebView. Try to find out if the app works on other devices running 7.1.x.

In general, OpenGapps (at least nano and pico but probably some of the other too) work just fine on CM.

Contributor

blunden replied Dec 21, 2016

@fvsgamers This is not a support forum, it's a developer resource. Everytime you (or I) respond we cause an email to be sent to multiple people.

Since you are asking about CM, I suggest you ask on our Google+ community (or XDA as you might find other users of the same app there). I'm not sure your issue has anything to do with the WebView. Try to find out if the app works on other devices running 7.1.x.

In general, OpenGapps (at least nano and pico but probably some of the other too) work just fine on CM.

@bboyghasem

This comment has been minimized.

Show comment
Hide comment
@bboyghasem

bboyghasem Oct 22, 2017

Hi
Any body help me plz
I flashed aosp7.1 and when flash gapps Pico no problem but flash gapps stock webview ins not working!
Webview implementation is empty!

Hi
Any body help me plz
I flashed aosp7.1 and when flash gapps Pico no problem but flash gapps stock webview ins not working!
Webview implementation is empty!

@kronflux

This comment has been minimized.

Show comment
Hide comment
@kronflux

kronflux Oct 22, 2017

@bboyghasem this is not a support forum, as mentioned above. Neither does this have anything to do with the specific rom or gapps package you happened to flash.
This is a developer resource for the Paranoid Android project. If you flashed "AOSP", this isn't even the correct project, let alone a support resource.

@bboyghasem this is not a support forum, as mentioned above. Neither does this have anything to do with the specific rom or gapps package you happened to flash.
This is a developer resource for the Paranoid Android project. If you flashed "AOSP", this isn't even the correct project, let alone a support resource.

Please sign in to comment.