{"id":26987,"date":"2024-02-22T22:25:33","date_gmt":"2024-02-22T22:25:33","guid":{"rendered":"https:\/\/10web.io\/blog\/?p=26987"},"modified":"2024-04-26T12:16:58","modified_gmt":"2024-04-26T12:16:58","slug":"err_cleartext_not_permitted","status":"publish","type":"post","link":"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/","title":{"rendered":"Fixing ERR_CLEARTEXT_NOT_PERMITTED Errors"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Encountering the NET::ERR_CLEARTEXT_NOT_PERMITTED error on your Android device can be a real speed bump, especially when all you&#8217;re trying to do is access a website or web app. This error essentially acts as a gatekeeper, preventing access to sites that transmit unencrypted, or &#8220;cleartext,&#8221; information. But there are ways around this blockade, whether you&#8217;re a regular user, an app developer, or handling the website.<\/span><\/p>\n\r\n<style>\r\n  #ctablocks_inline_90{\r\n          background-color: #000000;\r\n        color: #ffffff;\r\n    border-radius: 6px;\r\n  }\r\n\r\n  #ctablocks_inline_90 p{\r\n    color: #ffffff;\r\n  }\r\n  #ctablocks_inline_90 .button{\r\n        background-color: rgb(51,57,241);\r\n      color: #ffffff;\r\n    border-color: #3339f1 !important;\r\n  }\r\n  #ctablocks_inline_90 .button:hover{\r\n    background: rgba(51,57,241,0.8);\r\n    color: #ffffff;\r\n    opacity: 1;\r\n  }\r\n        #ctablocks_inline_90 .ctablocks_content_info p {\r\n        padding-left: 36px;\r\n      }\r\n      #ctablocks_inline_90 .ctablocks_content_button {\r\n          margin-left: 37px;\r\n      }\r\n  @media screen and (min-width: 768px) and (max-width: 1260px) {\r\n      #ctablocks_inline_90 .ctablocks_content_button {\r\n          margin-left: 37px !important;\r\n      }\r\n  }\r\n  ;\r\n<\/style>\r\n<div id=\"ctablocks_inline_90\" class=\"ctablocks_container inline_type\r\n        \">\r\n\r\n  <div class=\"ctablocks_content clear\">\r\n    <div class=\"ctablocks_content_info\">\r\n      \r\n            <div class=\"title-wrap\">\r\n\t\t\t\t\t                  <img decoding=\"async\" src=\"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/04\/info-icon-cta.png\" alt=\"Say goodbye to website errors\" title=\"Say goodbye to website errors\">\r\n\t\t\t\t\t            <h4>Say goodbye to website errors<\/h4>\r\n        <\/div>\r\n              <p>Achieve peace of mind with 99.99% uptime on 10Web Managed <br>WordPress Hosting, powered by Google Cloud. <\/p>\r\n          <\/div>\r\n    <div class=\"ctablocks_content_button\">\r\n              <a href=\"https:\/\/10web.io\/ai-website-builder\/\" class=\"button\" data-gtag=\"sign-up-blog\" data-buttontype=\"sign-up\" data-gtag=\"cta-90\" data-buttontype=\"cta-inline\"\r\n\t        >Learn How<\/a>\r\n            \r\n    <\/div>\r\n  <\/div>\r\n    <\/div>\r\n\n<h2 id=\"diving-into-androids-webview\"><span style=\"font-weight: 400;\">Diving into Android&#8217;s Webview<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Android Webview is a nifty feature that lets apps display web content without the need for a full-fledged browser. It&#8217;s particularly handy for web apps, which are essentially websites packaged to run like native apps on your phone. However, Webview doesn&#8217;t offer the full suite of browser functionalities, which is why using Chrome or another browser might give you a better web-surfing experience.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The NET::ERR_CLEARTEXT_NOT_PERMITTED error is unique to Webview within Android apps.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted.jpg\" alt=\"The err_cleartext_not_permitted error as seen in an Android app.\" width=\"1560\" height=\"557\" class=\"alignnone size-full wp-image-26991\" srcset=\"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted.jpg 1560w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-742x265.jpg 742w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-1484x530.jpg 1484w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-150x54.jpg 150w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-768x274.jpg 768w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-1536x548.jpg 1536w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-600x214.jpg 600w\" sizes=\"auto, (max-width: 1560px) 100vw, 1560px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">You won&#8217;t see this error when using browsers like Chrome, even if you&#8217;re trying to access an HTTP website, which might only give you a &#8220;<\/span><a href=\"https:\/\/10web.io\/blog\/how-to-fix-this-site-cant-provide-a-secure-connection\/\"><span style=\"font-weight: 400;\">Not Secure<\/span><\/a><span style=\"font-weight: 400;\">&#8221; warning instead.<\/span><\/p>\n<h2 id=\"understanding-the-neterr_cleartext_not_permitted-error\"><span style=\"font-weight: 400;\">Understanding the NET::ERR_CLEARTEXT_NOT_PERMITTED error<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">This error pops up when Webview tries to load a page that uses HTTP or has <\/span><a href=\"https:\/\/10web.io\/glossary\/ssl-certificate\/\"><span style=\"font-weight: 400;\">unencrypted<\/span><\/a><span style=\"font-weight: 400;\"> data. It&#8217;s Android&#8217;s way of saying, &#8220;Hey, this isn&#8217;t safe.&#8221; While the website itself isn&#8217;t broken or inaccessible (you could access it via a regular browser without issue), Android apps will block access to keep user data secure.<\/span><\/p>\n<h2 id=\"root-causes-of-the-error\"><span style=\"font-weight: 400;\">Root causes of the error<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Android&#8217;s default setting prevents apps from sending or receiving cleartext data to avoid accidental security breaches. This has been the standard since Android 9.0 and applies to apps utilizing Webview, explaining why this error won&#8217;t appear when you&#8217;re browsing with standard browsers on Android.<\/span><\/p>\n\r\n<style>\r\n  #ctablocks_inline_90{\r\n          background-color: #000000;\r\n        color: #ffffff;\r\n    border-radius: 6px;\r\n  }\r\n\r\n  #ctablocks_inline_90 p{\r\n    color: #ffffff;\r\n  }\r\n  #ctablocks_inline_90 .button{\r\n        background-color: rgb(51,57,241);\r\n      color: #ffffff;\r\n    border-color: #3339f1 !important;\r\n  }\r\n  #ctablocks_inline_90 .button:hover{\r\n    background: rgba(51,57,241,0.8);\r\n    color: #ffffff;\r\n    opacity: 1;\r\n  }\r\n        #ctablocks_inline_90 .ctablocks_content_info p {\r\n        padding-left: 36px;\r\n      }\r\n      #ctablocks_inline_90 .ctablocks_content_button {\r\n          margin-left: 37px;\r\n      }\r\n  @media screen and (min-width: 768px) and (max-width: 1260px) {\r\n      #ctablocks_inline_90 .ctablocks_content_button {\r\n          margin-left: 37px !important;\r\n      }\r\n  }\r\n  ;\r\n<\/style>\r\n<div id=\"ctablocks_inline_90\" class=\"ctablocks_container inline_type\r\n        \">\r\n\r\n  <div class=\"ctablocks_content clear\">\r\n    <div class=\"ctablocks_content_info\">\r\n      \r\n            <div class=\"title-wrap\">\r\n\t\t\t\t\t                  <img decoding=\"async\" src=\"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/04\/info-icon-cta.png\" alt=\"Say goodbye to website errors\" title=\"Say goodbye to website errors\">\r\n\t\t\t\t\t            <h4>Say goodbye to website errors<\/h4>\r\n        <\/div>\r\n              <p>Achieve peace of mind with 99.99% uptime on 10Web Managed <br>WordPress Hosting, powered by Google Cloud. <\/p>\r\n          <\/div>\r\n    <div class=\"ctablocks_content_button\">\r\n              <a href=\"https:\/\/10web.io\/ai-website-builder\/\" class=\"button\" data-gtag=\"sign-up-blog\" data-buttontype=\"sign-up\" data-gtag=\"cta-90\" data-buttontype=\"cta-inline\"\r\n\t        >Learn How<\/a>\r\n            \r\n    <\/div>\r\n  <\/div>\r\n    <\/div>\r\n\n<h2 id=\"fixing-the-neterr_cleartext_not_permitted-error\"><span style=\"font-weight: 400;\">Fixing the NET::ERR_CLEARTEXT_NOT_PERMITTED error<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">If you\u2019re a regular user, there\u2019s nothing you can do to get rid of the ERR_CLEARTEXT_NOT_PERMITTED error. In that case, the best thing to do is try accessing the website using a full-fledged web browser like Chrome or your device\u2019s default browser.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">However, if you\u2019re on the development side or are otherwise handling the website yourself, there are generally three strategies to tackle this error:<\/span><\/p>\n<h3 id=\"1-modify-androidmanifest-xml\"><span style=\"font-weight: 400;\">1. Modify AndroidManifest.xml<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Every Android app comes with an AndroidManifest.xml file, which holds crucial app information. By editing this file to allow or disallow cleartext traffic, developers can provide a temporary fix. However, remember that Google recommends against allowing cleartext due to security concerns.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">You can access and edit the file using <\/span><a href=\"https:\/\/developer.android.com\/studio\"><span style=\"font-weight: 400;\">Android Studio<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-android.jpg\" alt=\"Android Studio can help edit app files to resolve err_cleartext_not_permitted errors.\" width=\"1560\" height=\"875\" class=\"alignnone size-full wp-image-26988\" srcset=\"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-android.jpg 1560w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-android-742x416.jpg 742w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-android-1484x832.jpg 1484w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-android-150x84.jpg 150w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-android-768x431.jpg 768w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-android-1536x862.jpg 1536w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-android-371x208.jpg 371w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-android-600x337.jpg 600w\" sizes=\"auto, (max-width: 1560px) 100vw, 1560px\" \/><\/p>\n<p><b>Steps to allow cleartext traffic in your app<\/b><span style=\"font-weight: 400;\">:<\/span><\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li><span style=\"font-weight: 400;\"> Start Android Studio and open your app project.<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> In the Project view, expand the `app` folder and then the `manifests` folder to find `AndroidManifest.xml`.<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/android-studio.jpg\" alt=\"Android studio displaying an app package.\" width=\"1560\" height=\"875\" class=\"alignnone size-full wp-image-26990\" srcset=\"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/android-studio.jpg 1560w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/android-studio-742x416.jpg 742w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/android-studio-1484x832.jpg 1484w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/android-studio-150x84.jpg 150w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/android-studio-768x431.jpg 768w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/android-studio-1536x862.jpg 1536w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/android-studio-371x208.jpg 371w, https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/android-studio-600x337.jpg 600w\" sizes=\"auto, (max-width: 1560px) 100vw, 1560px\" \/><br \/>\n<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> Double-click `AndroidManifest.xml` to open it in the editor.<\/span><\/li>\n<li><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"> Find the `&lt;application&gt;` tag and add the `android:usesCleartextTraffic=&#8221;true&#8221;` attribute to it. If the attribute already exists and is set to `false`, change it to `true`.<br \/>\n<\/span><\/span><\/span><\/span><\/p>\n<pre><span style=\"font-weight: 400;\">\u00a0&lt;application<\/span>\r\n\r\n<span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0...<\/span>\r\n\r\n<span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:usesCleartextTraffic=\"true\"&gt;<\/span>\r\n\r\n<span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0...<\/span>\r\n\r\n<span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0&lt;\/application&gt;<\/span><\/pre>\n<p><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u00a0<\/span><\/span><\/span><\/li>\n<li>After editing, save your changes and close the file.<\/li>\n<li><span style=\"font-weight: 400;\">Run your app to ensure the error has been resolved.<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol start=\"5\"><\/ol>\n<\/li>\n<\/ol>\n<ol start=\"5\">\n<li style=\"list-style-type: none;\">\n<ol start=\"5\"><\/ol>\n<\/li>\n<\/ol>\n<h3 id=\"2-allowlist-the-domain-using-network_security_config-xml\"><span style=\"font-weight: 400;\">2. Allowlist the domain using network_security_config.xml<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">For a more targeted approach, developers can specify which domains can use cleartext in their app by adding them to a network security configuration file. This method offers more security than blanketly allowing cleartext across the app.<\/span> <b>Steps to specify cleartext traffic for specific domains<\/b><span style=\"font-weight: 400;\">:<\/span><\/p>\n<ol>\n<li><span style=\"font-weight: 400;\"> <\/span><b>Create network_security_config.xml<\/b><span style=\"font-weight: 400;\">: In Android Studio, navigate to the `res` directory, right-click it, select `New` &gt; `Android Resource File`, name it `network_security_config`, and select `XML` as the Resource type.<\/span><\/li>\n<li><b style=\"color: #292929; font-size: 20px;\">Define cleartext permissions<\/b><span style=\"font-weight: 400;\">: Edit `network_security_config.xml` to specify domains that are permitted to use cleartext traffic.<\/span>\n<pre><span style=\"font-weight: 400;\"> &lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;<\/span>\r\n\r\n<span style=\"font-weight: 400;\"> &lt;network-security-config&gt;<\/span>\r\n\r\n<span style=\"font-weight: 400;\"> &lt;domain-config cleartextTrafficPermitted=\"true\"&gt;<\/span>\r\n\r\n<span style=\"font-weight: 400;\"> &lt;domain includeSubdomains=\"true\"&gt;example.com&lt;\/domain&gt;<\/span>\r\n\r\n<span style=\"font-weight: 400;\"> &lt;\/domain-config&gt;<\/span>\r\n\r\n<span style=\"font-weight: 400;\"> &lt;\/network-security-config&gt;<\/span><\/pre>\n<p><span style=\"font-weight: 400;\"> Replace `example.com` with your actual domain.<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> <\/span><b>Link the configuration to your app<\/b><span style=\"font-weight: 400;\">: Open `AndroidManifest.xml` and add a reference to the network security configuration within the `&lt;application&gt;` tag.<\/span>\n<pre><span style=\"font-weight: 400;\"> &lt;application<\/span>\r\n\r\n<span style=\"font-weight: 400;\"> ...<\/span>\r\n\r\n<span style=\"font-weight: 400;\"> android:networkSecurityConfig=\"@xml\/network_security_config\"&gt;<\/span>\r\n\r\n<span style=\"font-weight: 400;\"> ...<\/span>\r\n\r\n<span style=\"font-weight: 400;\"> &lt;\/application&gt;<\/span><\/pre>\n<\/li>\n<li><span style=\"font-weight: 400;\"> Save all changes, close the files, and run your app to check if the issue is resolved.<\/span><\/li>\n<\/ol>\n<h3 id=\"3-force-your-website-to-use-https\"><span style=\"font-weight: 400;\">3. Force your website to use HTTPS<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The most foolproof way to avoid this error is to ensure your website uses HTTPS, encrypting all data in transit. Modern web standards virtually demand HTTPS usage for security and SEO benefits. If you&#8217;re using a hosting service like Kinsta, setting up an SSL certificate and forcing HTTPS can be a breeze.<\/span><\/p>\n<p><b>Steps to secure your website with HTTPS<\/b><span style=\"font-weight: 400;\">:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you\u2019re a 10Web customer, you can automatically secure your website with HTTPS <\/span><a href=\"https:\/\/help.10web.io\/hc\/en-us\/articles\/360027856071-How-to-Generate-a-Free-SSL-Certificate-in-10Web-Dashboard\"><span style=\"font-weight: 400;\">in the dashboard<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Log in to your 10Web dashboard.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Click on the website where you want to use HTTPS.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Go to Hosting Services &gt; Tools.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Select Generate Free SSL Certificate from the drop-down menu.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Click Apply.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">Other platforms or hosting providers may also offer a way to add an SSL certificate and redirect traffic to HTTPS via your account control panel or admin. If not, here are general instructions to set it up yourself:<\/span><\/p>\n<ol>\n<li><span style=\"font-weight: 400;\"> Use Let\u2019s Encrypt or another provider to get a free SSL certificate for your website.<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> Follow your hosting provider&#8217;s documentation to install the SSL certificate on your server. <\/span><\/li>\n<li><span style=\"font-weight: 400;\"> Ensure your website redirects all HTTP traffic to HTTPS. This can be done via the `.htaccess` file for Apache servers, the Nginx configuration file for Nginx servers, or through your hosting dashboard.<\/span><\/li>\n<\/ol>\n<p><b>For Apache<\/b><span style=\"font-weight: 400;\">, add the following to your `.htaccess` file:<\/span><\/p>\n<pre><span style=\"font-weight: 400;\"> RewriteEngine On<\/span>\r\n\r\n<span style=\"font-weight: 400;\"> RewriteCond %{HTTPS} off<\/span>\r\n\r\n<span style=\"font-weight: 400;\"> RewriteRule ^(.*)$ https:\/\/%{HTTP_HOST}%{REQUEST_URI} [L,R=301]<\/span><\/pre>\n<p><b>For Nginx<\/b><span style=\"font-weight: 400;\">, add the following to your server block:<\/span><\/p>\n<pre><span style=\"font-weight: 400;\"> server {<\/span>\r\n\r\n<span style=\"font-weight: 400;\"> listen 80;<\/span>\r\n\r\n<span style=\"font-weight: 400;\"> server_name example.com www.example.com;<\/span>\r\n\r\n<span style=\"font-weight: 400;\"> return 301 https:\/\/$server_name$request_uri;<\/span>\r\n\r\n<span style=\"font-weight: 400;\"> }<\/span><\/pre>\n<ol start=\"4\">\n<li><span style=\"font-weight: 400;\"> Use online tools like SSL Labs&#8217; SSL Test to <\/span><span style=\"font-weight: 400;\">check your site&#8217;s SSL configuration<\/span><span style=\"font-weight: 400;\"> and ensure HTTPS is correctly enforced.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">By implementing these steps, you can resolve the &#8220;NET::ERR_CLEARTEXT_NOT_PERMITTED&#8221; error, enhancing the security and reliability of your Android app and website.<\/span><\/p>\n<h2 id=\"wrapping-up\"><span style=\"font-weight: 400;\">Wrapping Up<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">For the average user, encountering the NET::ERR_CLEARTEXT_NOT_PERMITTED error means it\u2019s time to try accessing the site with a mobile browser like Chrome. However, developers and website owners have several avenues to bypass or eliminate this error, ensuring a smooth and secure user experience. Whether adjusting app settings or upgrading website security protocols, addressing this error not only resolves access issues but also aligns with best practices for digital security.<\/span><br \/>\n\r\n<style>\r\n  #ctablocks_inline_90{\r\n          background-color: #000000;\r\n        color: #ffffff;\r\n    border-radius: 6px;\r\n  }\r\n\r\n  #ctablocks_inline_90 p{\r\n    color: #ffffff;\r\n  }\r\n  #ctablocks_inline_90 .button{\r\n        background-color: rgb(51,57,241);\r\n      color: #ffffff;\r\n    border-color: #3339f1 !important;\r\n  }\r\n  #ctablocks_inline_90 .button:hover{\r\n    background: rgba(51,57,241,0.8);\r\n    color: #ffffff;\r\n    opacity: 1;\r\n  }\r\n        #ctablocks_inline_90 .ctablocks_content_info p {\r\n        padding-left: 36px;\r\n      }\r\n      #ctablocks_inline_90 .ctablocks_content_button {\r\n          margin-left: 37px;\r\n      }\r\n  @media screen and (min-width: 768px) and (max-width: 1260px) {\r\n      #ctablocks_inline_90 .ctablocks_content_button {\r\n          margin-left: 37px !important;\r\n      }\r\n  }\r\n  ;\r\n<\/style>\r\n<div id=\"ctablocks_inline_90\" class=\"ctablocks_container inline_type\r\n        \">\r\n\r\n  <div class=\"ctablocks_content clear\">\r\n    <div class=\"ctablocks_content_info\">\r\n      \r\n            <div class=\"title-wrap\">\r\n\t\t\t\t\t                  <img decoding=\"async\" src=\"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/04\/info-icon-cta.png\" alt=\"Say goodbye to website errors\" title=\"Say goodbye to website errors\">\r\n\t\t\t\t\t            <h4>Say goodbye to website errors<\/h4>\r\n        <\/div>\r\n              <p>Achieve peace of mind with 99.99% uptime on 10Web Managed <br>WordPress Hosting, powered by Google Cloud. <\/p>\r\n          <\/div>\r\n    <div class=\"ctablocks_content_button\">\r\n              <a href=\"https:\/\/10web.io\/ai-website-builder\/\" class=\"button\" data-gtag=\"sign-up-blog\" data-buttontype=\"sign-up\" data-gtag=\"cta-90\" data-buttontype=\"cta-inline\"\r\n\t        >Learn How<\/a>\r\n            \r\n    <\/div>\r\n  <\/div>\r\n    <\/div>\r\n<br \/>\n\r\n<style>\r\n  #ctablocks_scrollbox-with-icon_89{\r\n            color: #ffffff;\r\n    border-radius: 6px;\r\n  }\r\n\r\n  #ctablocks_scrollbox-with-icon_89 p{\r\n    color: #ffffff;\r\n  }\r\n  #ctablocks_scrollbox-with-icon_89 .button{\r\n          background-color: rgb(51,57,241);\r\n        color: #ffffff;\r\n    border-color: #3339f1 !important;\r\n  }\r\n  #ctablocks_scrollbox-with-icon_89 .button:hover{\r\n    background: rgba(51,57,241,0.8);\r\n    color: #ffffff;\r\n    opacity: 1;\r\n  }\r\n  #ctablocks_scrollbox-with-icon_89.ctablocks_container {\r\n    left: 100%;\r\n  }\r\n  @media screen and (max-width: 1300px) {\r\n      #ctablocks_scrollbox-with-icon_89.ctablocks_container {\r\n          left: 0;\r\n          margin: 0 auto;\r\n      }\r\n  }\r\n  #ctablocks_scrollbox-with-icon_89 .ctablocks_content {\r\n      background-color: #000000;\r\n  }\r\n<\/style>\r\n<div id=\"ctablocks_scrollbox-with-icon_89\" class=\"ctablocks_container scrollbox-with-icon_type\r\n      \">\r\n\r\n  <div class=\"ctablocks_content clear\">\r\n    <div class=\"ctablocks_content_info\">\r\n              <h4>Say goodbye to website errors<\/h4>\r\n        <h4 class=\"mobile-title\">Fix all the website errors in one click<\/h4>\r\n              <p>Migrate your website to the world's best Managed WordPress Hosting.<\/p>\r\n          <\/div>\r\n    <div class=\"ctablocks_content_button\">\r\n              <a href=\"https:\/\/10web.io\/ai-website-builder\/\" class=\"button\" data-gtag=\"sign-up-blog\" data-buttontype=\"sign-up\" data-gtag=\"cta-89\" data-buttontype=\"cta-scrollbox-with-icon\"\r\n\t        >Migrate For Free<\/a>\r\n            \r\n    <\/div>\r\n  <\/div>\r\n    <span class=\"close_ctablocks\">\r\n      <img decoding=\"async\" class=\"close-icon\" src=\"https:\/\/10web.io\/blog\/wp-content\/plugins\/cta-blocks\/assets\/images\/close_w.svg\" class=\"close\">\r\n      <img decoding=\"async\" class=\"floating-icon\" src=\"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/04\/Info-icon_Blog.png\" alt=\"Say goodbye to website errors\" title=\"Say goodbye to website errors\">\r\n<!--      <img decoding=\"async\" class=\"arrow-icon white\" src=\"\/cta-blocks\/assets\/images\/arrow-icon.svg\" class=\"close\">\r\n-->      <img decoding=\"async\" class=\"arrow-icon purple\" src=\"https:\/\/10web.io\/blog\/wp-content\/plugins\/cta-blocks\/assets\/images\/arrow-icon-purple.svg\" class=\"close\">\r\n  <\/span>\r\n<\/div>\r\n<br \/>\n <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Encountering the NET::ERR_CLEARTEXT_NOT_PERMITTED error on your Android device can be a real speed bump, especially when all you&#8217;re trying to do is access a website or web app. This error essentially acts as a gatekeeper, preventing access to sites that transmit unencrypted, or &#8220;cleartext,&#8221; information. But there are ways around this blockade, whether you&#8217;re a regular user, an app developer,&#8230;<\/p>\n","protected":false},"author":79,"featured_media":26989,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"two_page_speed":[],"footnotes":"","tenweb_blog_toc":"                                                                <ul>\r\n\t<li>\r\n\t\t<a href=\"#diving-into-androids-webview\">Diving into Android's Webview<\/a>\r\n\t<\/li>\r\n\t<li>\r\n\t\t<a href=\"#understanding-the-neterr_cleartext_not_permitted-error\">Understanding the NET::ERR_CLEARTEXT_NOT_PERMITTED error<\/a>\r\n\t<\/li>\r\n\t<li>\r\n\t\t<a href=\"#root-causes-of-the-error\">Root causes of the error<\/a>\r\n\t<\/li>\r\n\t<li>\r\n\t\t<a href=\"#fixing-the-neterr_cleartext_not_permitted-error\">Fixing the NET::ERR_CLEARTEXT_NOT_PERMITTED error<\/a>\r\n\t\t<ul>\r\n\t\t\t<li>\r\n\t\t\t\t<a href=\"#1-modify-androidmanifest-xml\">1. Modify AndroidManifest.xml<\/a>\r\n\t\t\t<\/li>\r\n\t\t\t<li>\r\n\t\t\t\t<a href=\"#2-allowlist-the-domain-using-network_security_config-xml\">2. Allowlist the domain using network_security_config.xml<\/a>\r\n\t\t\t<\/li>\r\n\t\t\t<li>\r\n\t\t\t\t<a href=\"#3-force-your-website-to-use-https\">3. Force your website to use HTTPS<\/a>\r\n\t\t\t<\/li>\r\n\t\t<\/ul>\r\n\t<\/li>\r\n\t<li>\r\n\t\t<a href=\"#wrapping-up\">Wrapping Up<\/a>\r\n\t<\/li>\r\n<\/ul>\r\n                                                ","tenweb_blog_competitor_type":"","tenweb_blog_competitor_names":"","tenweb_blog_twb_version":0,"tenweb_blog_type":"on"},"categories":[500],"tags":[],"class_list":["post-26987","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-http-errors"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.0 (Yoast SEO v23.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Err_Cleartext_Not_Permitted Error: Easy Solutions - 10Web<\/title>\n<meta name=\"description\" content=\"Struggling with Err_Cleartext_Not_Permitted on Android? Learn simple steps to bypass this common web issue.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fixing ERR_CLEARTEXT_NOT_PERMITTED Errors\" \/>\n<meta property=\"og:description\" content=\"Struggling with Err_Cleartext_Not_Permitted on Android? Learn simple steps to bypass this common web issue.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/\" \/>\n<meta property=\"og:site_name\" content=\"10Web - Build &amp; Host Your WordPress Website\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/10Web.io\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-02-22T22:25:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-26T12:16:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-featured.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1792\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Arto Minasyan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@artavazdm\" \/>\n<meta name=\"twitter:site\" content=\"@10Web_io\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Arto Minasyan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Err_Cleartext_Not_Permitted Error: Easy Solutions - 10Web","description":"Struggling with Err_Cleartext_Not_Permitted on Android? Learn simple steps to bypass this common web issue.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/","og_locale":"en_US","og_type":"article","og_title":"Fixing ERR_CLEARTEXT_NOT_PERMITTED Errors","og_description":"Struggling with Err_Cleartext_Not_Permitted on Android? Learn simple steps to bypass this common web issue.","og_url":"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/","og_site_name":"10Web - Build &amp; Host Your WordPress Website","article_publisher":"https:\/\/www.facebook.com\/10Web.io\/","article_published_time":"2024-02-22T22:25:33+00:00","article_modified_time":"2024-04-26T12:16:58+00:00","og_image":[{"width":1792,"height":1024,"url":"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-featured.jpg","type":"image\/jpeg"}],"author":"Arto Minasyan","twitter_card":"summary_large_image","twitter_creator":"@artavazdm","twitter_site":"@10Web_io","twitter_misc":{"Written by":"Arto Minasyan","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/#article","isPartOf":{"@id":"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/"},"author":{"name":"Arto Minasyan","@id":"https:\/\/10web.io\/blog\/#\/schema\/person\/b2a531cd7f3eb7353f839f77c203007e"},"headline":"Fixing ERR_CLEARTEXT_NOT_PERMITTED Errors","datePublished":"2024-02-22T22:25:33+00:00","dateModified":"2024-04-26T12:16:58+00:00","mainEntityOfPage":{"@id":"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/"},"wordCount":1035,"commentCount":0,"publisher":{"@id":"https:\/\/10web.io\/blog\/#organization"},"image":{"@id":"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/#primaryimage"},"thumbnailUrl":"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-featured.jpg","articleSection":["HTTP Errors"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/","url":"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/","name":"Err_Cleartext_Not_Permitted Error: Easy Solutions - 10Web","isPartOf":{"@id":"https:\/\/10web.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/#primaryimage"},"image":{"@id":"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/#primaryimage"},"thumbnailUrl":"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-featured.jpg","datePublished":"2024-02-22T22:25:33+00:00","dateModified":"2024-04-26T12:16:58+00:00","description":"Struggling with Err_Cleartext_Not_Permitted on Android? Learn simple steps to bypass this common web issue.","breadcrumb":{"@id":"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/#primaryimage","url":"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-featured.jpg","contentUrl":"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/err_cleartext_not_permitted-featured.jpg","width":1792,"height":1024,"caption":"The err_cleartext_not_permitted is depicted as an Android logo restricted by chains and padlocks."},{"@type":"BreadcrumbList","@id":"https:\/\/10web.io\/blog\/err_cleartext_not_permitted\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/10web.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Fixing ERR_CLEARTEXT_NOT_PERMITTED Errors"}]},{"@type":"WebSite","@id":"https:\/\/10web.io\/blog\/#website","url":"https:\/\/10web.io\/blog\/","name":"10Web Blog - Build & Host Your WordPress Website","description":"10Web is an All-in-One Website Building Platform, offering Managed WordPress Hosting on Google Cloud, Beautiful Templates, Premium Plugins and Services.","publisher":{"@id":"https:\/\/10web.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/10web.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/10web.io\/blog\/#organization","name":"10Web","url":"https:\/\/10web.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/10web.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2025\/04\/Logo-768x686-1.png","contentUrl":"https:\/\/10web.io\/blog\/wp-content\/uploads\/sites\/2\/2025\/04\/Logo-768x686-1.png","width":768,"height":686,"caption":"10Web"},"image":{"@id":"https:\/\/10web.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/10Web.io\/","https:\/\/x.com\/10Web_io","https:\/\/www.instagram.com\/10web.io\/","https:\/\/www.linkedin.com\/company\/10web\/mycompany\/","https:\/\/www.youtube.com\/c\/10Web"]},{"@type":"Person","@id":"https:\/\/10web.io\/blog\/#\/schema\/person\/b2a531cd7f3eb7353f839f77c203007e","name":"Arto Minasyan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/10web.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9b1112aab2e31af3c41be33bdfc49a63?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9b1112aab2e31af3c41be33bdfc49a63?s=96&d=mm&r=g","caption":"Arto Minasyan"},"description":"Arto Minasyan is the Co-Founder and President at 10Web and Krisp, two companies revolutionizing web development and audio communications. Arto has over 10 years of experience building and leading cutting-edge teams and products in the tech industry. His passion for AI, machine learning, and entrepreneurship drives the success of the projects he leads.","sameAs":["https:\/\/10web.io\/","https:\/\/www.linkedin.com\/in\/artominasyan\/","https:\/\/x.com\/artavazdm"],"honorificSuffix":"PhD","knowsAbout":["Artificial Intelligence","Machine Learning","Web Development","Entrepreneurship","WordPress","WooCommerce","Startup Funding","SaaS Development","Physics & Mathematics"],"jobTitle":"Co-Founder & President","worksFor":"Arto Minasyan","url":"https:\/\/10web.io\/blog\/author\/arto\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/10web.io\/blog\/wp-json\/wp\/v2\/posts\/26987","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/10web.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/10web.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/10web.io\/blog\/wp-json\/wp\/v2\/users\/79"}],"replies":[{"embeddable":true,"href":"https:\/\/10web.io\/blog\/wp-json\/wp\/v2\/comments?post=26987"}],"version-history":[{"count":0,"href":"https:\/\/10web.io\/blog\/wp-json\/wp\/v2\/posts\/26987\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/10web.io\/blog\/wp-json\/wp\/v2\/media\/26989"}],"wp:attachment":[{"href":"https:\/\/10web.io\/blog\/wp-json\/wp\/v2\/media?parent=26987"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/10web.io\/blog\/wp-json\/wp\/v2\/categories?post=26987"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/10web.io\/blog\/wp-json\/wp\/v2\/tags?post=26987"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}