AdGuard for Android

AdGuard is a unique no root ad blocker for Android that removes ads in apps and browsers, protects your privacy, and helps you manage your apps
Easy to set up and get going, but powerful and highly customizable — it has everything you'll ever need from an Android adblock tool, and it works both on rooted and unrooted devices.
By downloading the program you accept the terms of the License agreement
Recent versions

This update is on a larger side, just judging by the number of entries in the changelog. Two ‘whales’ of this release are both integrations with an external app: AdGuard Assistant and web reporting tool. Assistant will help you manage filtering in apps and browsers from the notification shade, and reporting tool is what it’s called — a convenient way to report any missed ads, false positives and such.

[Added] Extended AdGuard notification — an "Assistant" button #1614

There are now two action buttons in the AdGuard notification. One is “Pause”, which pauses the protection upon tapping (tap again on the notification to resume it), but the more interesting one is “Assistant”. When you tap it, a list of recently used apps and websites will show up. Tap on any of them for more options, like opening filtering log, denying the app network access (or whitelisting/blacklisting in case of a website), or proceeding to the app/website-specific settings screen in Apps Management.

We believe this will save you quite a bit of time, especially if you are an active user and often find yourself in a need to pause protection, whitelist a website etc. In fact, we tested it ourselves and found it extremely convenient! :)

[Added] Integration with reporting web tool #1615

This feature is already familiar to AdGuard for Windows, AdGuard for iOS and AdGuard browser extension users. Basically, this is a way to report any filtering-related issue on a page: missed ad, false positive etc. To do so, go to app’s side menu and select “Report an issue”. Instead of an immediate “Send a message to support” screen, you will get a dialog to select the type of issue. Choosing one of the filtering-related issues will open a web page and a wizard will take you step by step through the process of filling in the required information. Don’t worry, most of the fields will be pre-filled by the AdGuard app!

This way of reporting missed ads and such is beneficial to both filters developers and users — the former will get all the information they need to fix the problem, and latter will be sure that the issue will be resolved in the shortest amount of time possible.

Ad blocking

  • [Added] YousList to the list of available filters #1803
  • [Changed] ExtendedCss has been updated to v1.10 #1787
  • [Fixed] Added support for `$network` exceptions rules #1636


  • [Changed] "ExtendedCss" module has been upgraded to v1.0.9 #1633
  • [Changed] Auto-proxy is reconfigured now on network state change #1630
  • [Changed] OpenNIC server address has been updated #1632
  • [Changed] `NXDOMAIN` answer (domain does not exist) is now used instead of `` #1582
  • [Fixed] AdGuard is not capturing the mobile data usage correctly #1665
  • [Fixed] App traffic is blocked on Android 4.x even when it should not be filtered at all #1715
  • [Fixed] Manual VPN connections crash when AG is enabled #1022
  • [Fixed] Error on VPN reconfiguration: failed to bind TUN pcb #1634
  • [Fixed] IPv6 filtering does not work on Oreo 8.1 + Magisk #1679
  • [Fixed] Firewall temporary allowance notification is not displayed #966
  • [Fixed] AdGuard exposes an open port #1640
  • [Fixed] DNS proxy server is now restarted on network change regardless of whether VPN reconfiguration is enabled or not #1780
  • [Fixed] VPN reconfiguration has been disabled by default on Samsung + Oreo #1774
  • [Fixed] Due to IPv6 filtering in proxy mode Facebook believes that IPv6 is accessible #1738
  • [Fixed] IPv6 connectivity is not enabled on protection stop if 'pref.proxy.block.ipv6' is enabled #1457
  • [Fixed] Error building the VPN tunnel on the network change on Huawei Mate 10 #1594
  • [Fixed] Ipv6 address lookup error #1786
  • [Fixed] Using DNSCrypt in AdGuard blocks internet connection #1562


  • [Changed] Notification action text color #1784
  • [Changed] HTTPS filtering lists have been divided into pre-defined and user-defined #1748
  • [Changed] 2017 to 2018 #1682
  • [Changed] "Blocked ads" and "blocked trackers" have been separated in the app stats #1590
  • [Changed] "Ad blocking" is now grayed out setting in per-apps settings if "Block ads in apps" is disabled #1484
  • [Fixed] Certificate state styles in HTTPS filtering settings #1551
  • [Fixed] Filtering log search issues #1610
  • [Fixed] Current language is displayed as the default language, instead of the system language #1588
  • [Fixed] Visual glitch with Amazon version activation #1603
  • [Fixed] Filtering log fails to refresh after being cleared #1728
  • [Fixed] Pause/Assistant buttons' look on Xiaomi #1739
  • [Improved] IconCache now handles non-bitmap icons #1789


  • [Added] New localizations — Spanish (Latin), Danish, Arabic #1583
  • , #1662
  • [Changed] AdGuard DNS over IPv6 has been added to the list of regular DNS servers #1799
  • [Changed] Level3 has been removed from the list of available DNS servers #1800
  • [Fixed] Beta build doesn’t have "beta" update channel by default #1377
  • [Fixed] While app is in Russian, preview opens an EN version of Knowledge base article instead of RU #1624
  • [Fixed] FAQ articles are not accessible when AdGuard is switched to Japanese #1622
  • [Fixed] First line of imported user filter rules is always interpreted as an actual rule #1717
  • [Fixed] Disabling net access for Android OS does not work #1498
  • [Fixed] Invalid file types can be imported into the UF #1301
  • [Fixed] AdGuard does not restart automatically after OpenVPN is disabled #1628
  • [Fixed] "Remove certificate" works incorrectly without root #1759
  • [Fixed] AdGuard won't start on boot on some Oreo devices #1727
  • [Fixed] Autopause does not work when there's no internet connection #1749
  • [Fixed] "Move certificate to system store" doesn’t work #1763
  • [Fixed] Crash while exporting the log file #1779
  • [Fixed] Google Backup does not work on Wi-Fi in VPN mode #1587
  • [Fixed] It takes too long to stop a local server in manual proxy mode #1746
  • [Fixed] No HTTPS filtering status flag in reports #1740
  • [Fixed] Wi-Fi calling doesn't work with T-Mobile #1570
  • [Fixed] AdGuard stops working when its language is set to Arabic #1765
  • [Fixed] Compatibility issues

A somewhat "unexpected" AdGuard for Android update — much smaller than a usual one. It contains a couple of hotfixes, which were basically the reason to release this version, alongside several quality of life improvements like separate WiFi/Mobile statistics in "Apps Management".

[Added] Separate Wi-Fi/Mobile stats #1542

Here we introduce one 'visual' change: separate Wi-Fi/Mobile stats on the 'Apps Management' screen. There's now a drop-down menu on the statistics screen that allows you to choose between displaying stats for Wi-Fi, Mobile or all traffic.

[Fixed] Wakelock (caused by GCM_RECONNECT) prevents devices from sleeping #1547

A self-explanatory one. There was an annoying bug with "Wakelock" that prevented the device from entering sleeping mode.


  • [Added] Danish Adblock list filter #1523
  • [Changed] Translations for 'Advanced settings' screen have been updated #1507
  • [Fixed] Protection is restarted when you open HTTPS filtering menu #1605
  • [Fixed] Crash in Amazon version #1608
  • [Fixed] Compatibility issues
We usually try to avoid having “inbetween” major updates, but this time is different. There were not as many big changes to justify labeling this version 2.11, but some of them are still very important so we couldn’t just keep shelving them.

A couple of serious bugs have been fixed: misbehaving “Protection” button on Android 7, certificate detection issue and “broken” whitelist. You’ll find a lot of minor fixes too, plus updated translations.

[Fixed] "Protection" button misbehaves
The AOT (ahead-of-time) compilation method on Android 7.x could remove whole chunks of AdGuard code on its optimization step. This led to various problems, including the persistence of VPN connection despite the disabled protection.

[Fixed] Certificate detection issue
We have changed the algorithm of user certificate detection and it now works more correctly.

Ad blocking

[Fixed] Whitelist is not working


[Fixed] Unexpected exception in the onUdpConnectRequest handler
[Fixed] Automatic proxy (with root) is starting very slowly
[Fixed] Disabling net access for Android OS does not work
[Fixed] Moscow subway Wi-Fi cannot work with DNS filtering enabled
[Fixed] Disabling internet access for Android OS does not work
[Fixed] Internet is not working after switching from Local HTTP proxy(root) to VPN


[Fixed] Minor UI issue in traffic stats screen
[Fixed] The application is not fully translated after changing the language
[Fixed] Proxy port more than 32767 is converted to 0
[Fixed] Incorrect calculation result of "App Details "screen
[Fixed] Protection restarts when exporting settings
[Fixed] Import of previously exported settings is buggy
[Fixed] The visual glitch with 2 active DNS servers is back


[Changed] Japanese translation
[Changed] Traditional Chinese translation
[Changed] Several compatibility fixes
[Fixed] The header is not written after the HAR file rollover
[Fixed] AG should request write_external_storage permission in runtime when it's required
[Fixed] Proxy mode with Magisk 14.2 takes 2+ minutes to enable
[Fixed], are not accessible with the HTTPS filtering enabled
[Fixed] Alisa is broken in Yandex.Browser alpha
Hi everyone! AdGuard for Android has always been one of the most rapidly evolving AdGuard products, and it stays that way. Today, we introduce to you the new version, featuring some of the biggest and potentially the most important changes in a while: significant increase of the filtering speed, outgoing proxy and TOR support, DNS filtering, DNS encryption and everything cool that goes alongside it. More details ahead!

[Added] Improved outbound proxy support

There is now a separate section for outbound proxy configuring in the main section of "Settings" menu, just above the "Advanced". You can now add, configure and use multiple proxies through AdGuard. Please note that only filtered apps' traffic is routed through AdGuard (which means it will only work for browsers in the free version). Also, DNS requests are not routed through proxies.

One related thing worthy of a separate mention: now it is very easy to set up Tor proxy via Orbot. Once you install Orbot, there will be a configured Tor proxy at the ready in the AdGuard proxy settings. Just enable Orbot in the notification bar, and you are good to go!

[Added] Improved DNS settings

We have also allocated a separate screen for DNS settings, you can find it in the side menu. You can add a custom DNS server, or select any public DNS provider from our list, including AdGuard DNS servers. No matter what server you choose, you can enable DNS filtering there.

Another great feature is DNSCrypt support. It is a special protocol that makes your DNS traffic secure, and we recommend to choose a DNS provider that supports DNSCrypt (by the way, AdGuard DNS does!).

[Added] Integration with the new network stack
[Added] Integrate common URL filtering library

These words may appear a tad too techy, so let us explain. Behind the ad blocking process of every AdGuard app on every platform lies the same algorithm. This algorithm - network stack - has been significantly improved recently, its performance has been increased up to 3 times compared to old numbers. In this version we integrate the Android app with it and also with our new filtering library.

[Added] Logs and system info export

This is a new addition to the 'Advanced settings'. Basically, after you tap it, the app grabs all current logs, packs it into an archive and asks you where to export it. It will be useful mostly for the forum and GitHub frequenters - for example when you report a bug and the support team member asks you to collect some logs. But it also can be helpful in certain tech support cases.

[Added] Battery usage stats screen

Historically, questions about AdGuard battery usage are among the most frequently asked ones. Sadly, Android distorts the battery consumption breakdown, attributing other apps' traffic and battery consumption to AdGuard. We've even written a detailed knowledgebase article that explains this issue. To mitigate the misconception, we added a new screen called 'Battery usage'. You can access it by tapping on the battery icon in the top right corner of the main screen. Inside you will find a chart that shows the AdGuard battery resource consumption within the last 24 hours, with an option to get more detailed hour-to-hour data by tapping on the dots on the chart. Besides that, there's also a numeric breakdown of the relevant data and a short technical explanation.



[Added] Add support for browsers cloned by the "App Cloner
[Added] Add EasyList Lithuanian filter
[Added] `/deep/` and `::shadow` selectors support
[Changed] Upgrade "ExtendedCss" module to v1.0.8
[Changed] Optimize DNS filtering statistics write
[Changed] Allow multiple filters to be enabled as language-specific at once
[Fixed] Unknown rule options
[Fixed] Native stack is not properly closed sometimes when AdGuard is auto-restarted
[Fixed] AdGuard does not resume protection occasionally


[Changed] The iptables rules have been reworked
[Changed] Add new filtered ports
[Changed] AdGuard now can handle compressed responses when downloading filters
[Fixed] Iptables redirect doesn't work for IPv6
[Fixed] Reinitialize VpnService when newly installed app should not be filtered
[Fixed] Captured HAR is invalid
[Fixed] Adguard cannot handle huge chunks properly
[Fixed] Cryptography-code error
[Fixed] No internet connection when DNScrypt and "record everything" logging level are enabled
[Fixed] NPE in DnsUpstreamServer
[Fixed] Alpha build segfaults when accessing some websites
[Fixed] Old certificates are not purged properly
[Fixed] The Onion ( does not work with AdGuard enabled
[Fixed] Error while generating a domain certificate
[Fixed] If IP address is blocked by ISP, it is impossible to connect to the site even via proxy
[Fixed] No internet connection after disabling DNS settings
[Fixed] Auto Proxy mode causes Wi-Fi Calling to fail for Verizon Wireless
[Fixed] When switching from VPN to Auto Proxy, Protection "restarts" but mode doesn't change
[Fixed] Iptables redirect doesn't work for ipv6 P2
[Fixed] Opera browser now targets SDK level 25 and does not trust user certificates


[Added] "Add new rule" button is missing in user filter
[Added] Open links in a webview
[Added] Open AdGuard by long-pressing on the tile icon
[Added] Add an option to search in the filtering log
[Added] Round icons support for Android 7.1
[Added] Add a checkbox "Overwrite existing rules" to the import user filter dialogue
[Added] Show filters which blocked an element in the Filtering log
[Added] Export logs and system info
[Added] Trim string when user enters new domain or rule into Whitelist/User filter
[Added] Export/import of all profile's settings
[Added] An annotation to "Google Play services" app details
[Added] Custom DNS ports support
[Changed] Rework the HTTPS filtering settings section
[Changed] Dialog windows should have min width
[Changed] Change "Filtering log" status label text
[Changed] Change AdGuard notification text 6.0+
[Changed] Contents of state.txt file (the one attached to support messages)
[Changed] French translation has been updated
[Changed] 'Adguard' to 'AdGuard' in all translations
[Changed] AdGuard notification text on Andoird 6.0+
[Changed] Some wording has been updated across the app
[Changed] Minor UI changes
[Fixed] Firewall UI inconsistency
[Fixed] Deleting a single rule from a search result removes all rules from the User Filter
[Fixed] First string is imported as a rule even if it is a comment.
[Fixed] Subscription status description is misleading
[Fixed] Few issues with the new DNS sub-menu section
[Fixed] Wrong padding in the DNS section
[Fixed] Spelling issue in DNSCrypt
[Fixed] Displaced titles in the 'Statistics' tab of the 'DNS' screen
[Fixed] The search request is reset after keyboard is closed
[Fixed] Make the log stop scrolling when reading it
[Fixed] Incorrect DNS is displayed when you set up a custom DNS
[Fixed] AdGuard doesn't memorize the selected DNS server
[Fixed] Proxy warning in apps management can be seen when changing tabs
[Fixed] Scrolling on the DNS screen works incorrectly
[Fixed] FAQ is displayed in the wrong language on Android N
[Fixed] Side menu "Settings" button doesn't work as intended
[Fixed] DNS requests blocking is not enabled by default when you toggle on the main DNS switch
[Fixed] Main switch in HTTPS settings is not being toggled by tapping on the label
[Fixed] Toast messages are shown in system language, not in app language
[Fixed] Scrollbar is missing at both DNS server lists (regular and DNScrypt)
[Fixed] Headers are not translated after switching the language
[Fixed] Apps are missed from apps management statistics in proxy-mode
[Fixed] "Block ads in all apps" is not checked after you activate the license key


[Added] "Request trial" should require an email
[Added] Add an annotation to "Google Play services" app details
[Added] AdGuard has been added to Google's apps backup
[Changed] Increase the trimming limit we use for request URLs
[Changed] Beta build should have "beta" update channel by default
[Changed] .apk file has been removed from the app cache after the update
[Changed] Add AdGuard version to both settings and logs export files
[Fixed] Don't ask for root access when crashed
[Fixed] Missed separator in filtering log between `ads=` and domain name
[Fixed] Apps management section is not loaded in the background
[Fixed] Сrashes on Android 6.0.1
[Fixed] Unnecessary exception in the log file
[Fixed] App freezes and can't be restarted
[Fixed] AdGuard crashes if you open `ws://` or `wss://` request in the Filtering log
[Fixed] EV certificate filtering checkbox rarely works
[Fixed] Advanced settings aren't applied on protection restart
[FIxed] Crash on Android v4.x
[Fixed] Update crash on KitKat and Lollipop
[Fixed] Individual apps settings aren't exported
[Fixed] Crash while trying to clear Firewall stats with AG disabled
[Fixed] AdGuard is not listed in Google's apps backup
[Fixed] Apps Management's "All time" tab is very slow after clearing stats
[Fixed] Wi-Fi calling Verizon issue
[Fixed] Custom DNS might not work in some circumstances

Some users started to encounter a network error while using applications (YouTube, Google Plus, Facebook Messenger and some others). This update is a hotfix for that issue: #1334

The new version is not excessively rich with new additions and other changes - more will come in v2.10 and, eventually, in Adguard v3.0. However, there is still one big highlight - we have vastly reworked and improved the User filter. Read below to find out the details.

[Improved] The user filter has been reworked #1279

Any experience of interacting with the previous incarnation of User filter could not be described with any other word but 'miserable'. It used to be clunky, unresponsive and slow. A lot has changed in this version.

First, the new design. It has become much cleaner.

As you will see, we have combined all of the control elements - add a new rule, clear the filter, edit the filter, import and export - under one toolbar menu.

Second, you now have an option to enter the so-called "edit mode" that brings up the multiline text edit area. It is very handy if you need to copy/paste/delete multiple lines of text at once, or just edit several rules in a row without clicking on each and every one of them.

Finally, the general way it looks. Rules are color-differentiated depending on their type, comments are distinctively visible and every rule can be disabled and enabled back without having to delete and re-create it.

If you have any interest in creating and maintaining a list of your own rules, you are going to, without any doubt, welcome these changes. We, personally, are very excited! :)

Ad blocking

  • [Added] Juvander's Adblock List #1225
  • [Changed] Minor memory optimizations #1181
  • [Changed] The range of the $$ rules was increased #1185
  • [Changed] The way we handle rules with $empty modifier #1274
  • [Fixed] Rules constructor ignores referer #1221
  • [Fixed] $network modifier doesn't work #1268
  • [Fixed] Firefox nightly 64-bit is not recognized as a browser #1257
  • [Fixed] CPU overuse issue caused by repeating requests to a tracking server #1179


  • [Changed] The HTTPS exclusions list has been updated
  • [Changed] HTTPS is not filtered any more for Nougat targeted apps without network_security_config #1286
  • [Fixed] Nougat auto-pause issue #1202
  • [Fixed] SHA-1 intermediate issue #1178
  • [Fixed] App preview does not work #973
  • [Fixed] Android O compatibility issues #1227
  • [Fixed] VPN + IPv6 issue on Android 4.4.2 #1267
  • [Fixed] IPv4 mapped addresses bypass VPN #1026
  • [Fixed] The first packet of a connection processing delay #1192
  • [Fixed] Adguard does not filter HTTPS connection with TLS 1.0 servers #1195
  • [Fixed] Reconfiguring iptables on package add/replace leads to no internet #1245
  • [Improved] Session resumption was implemented using session IDs #1238


  • [Added] Portuguese (PT) and Persian language support #1139, #1189
  • [Changed] Subscription status description wording #1191
  • [Fixed] Filtering Log toolbar layout #1180
  • [Fixed] Crash on network type changes #1272
  • [Fixed] Typos and punctuation mistakes #1159, #1186
  • [Fixed] User filter import doesn't work on Nexus 9 #1300
  • [Improved] Localizations has been updated #1290


  • [Changed] Yuzu browser has been added to the list of browsers filtered by default #1285
  • [Fixed] Multiple compatibility issues
  • [Improved] Logging in case of a critical error #1216

This is arguably the biggest we've changed our app since v2.5 or even since the introduction of the new design back in Adguard v2.0. Some of these changes were meant to be introduced only in the 3.0 version, but we couldn't wait any longer :) Significant changes to UI, the long hoped-for filtering log feature, other new options - all this and much more awaits you in this update.

[Improved] New app navigation system #969

Alright, we realize that when it comes to changing the design, there's going to be a controversy. There will always be those who find it better than the old one, and there will always be those who don't. Our hope the majority of users will find the new navigation system more convenient.

What exactly has changed? There is now a side menu, which will help to navigate through the app more easily. Besides that, we can finally utilize the context menu in the top-right corner, you can find an example of this in 'Apps Management' section. By the way, 'Apps management' will now include all Firewall settings as well. Having these two sections together at the same time felt excessive and confusing.

[Added] Filtering Log #11

Oh, boy. Anyone who has ever tried to check what's being filtered/blocked knows the struggle of inspecting Adguard's log file. It was the only way, and I doubt there is a single user who found it convenient. No surprise, as it was initially meant to be used by filters developers only. We were thinking: 'Why would anyone want to see on such deep level what do their apps do?'. We had been completely ignoring tech savvy people who do care about it and do want to have a complete control of what is going on on their device.

We'd like to apologize for this. We should have implemented filtering log functionality a long time ago. Well, better late than never. The filtering log has arrived, come and see for yourself. We don't expect to hit the nail on the head on the first try, so your feedback on what's lacking and what you can live without is invaluable.

Ad Blocking

  • [Added] $network basic rules modifier #1032
  • [Added] Support for exception rules #815
  • [Changed] The behavior of the third-party modifier #891
  • [Changed] Websites cache is now suppressed after filters change #946
  • [Fixed] $replace rules aren't applied to .m3u8 files content #1060
  • [Fixed] Regular expressions with $ symbol aren't processed properly #1027


[Added] An option to not filter HTTPS on websites with 'Extended Validation' certificate #934

Adguard for Windows users are familiar with this option already. Extended Validation SSL certificates grant that the owner of the certificate has gone through a very strict process of verification. The trust for such certificate owners is much higher - those are usually banks, other financial organizations etc. Often times there are zero or close to zero ads on their websites, and filtering them is excessive anyway - it only increases the chance to break something useful.

[Changed] VPN autopause is now disabled by default for new Android devices (Pixel, Nexus with Nougat) #1000

From the beginning, the VPN autopause functionality was not 'a feature'. It is a workaround for some known Android issues and bugs. For example, tethering could not work along with a VPN, or Adguard's network access could be denied in power saving mode.

It seems that all these issues are sorted out in the newest Android devices, so we have disabled autopause functionality for them. You can turn it back ON in Adguard's low-level settings if needed.

  • [Fixed] HTTPS filtering in Nougat-targeted apps #979
  • [Fixed] Amazon license check hangs while doing the background check #1121
  • [Improved] Active proxy connections closing time was reduced #990
  • [Imporved] AG styles are protected from disabling now #947


[Added] Bulk change functionality for the Apps Management section #1063

Available from the context menu that we have already mentioned above, it grants a fast and easy access to the most common settings that can be applied to all apps at once.

[Added] A new advanced preference: a list of networks which LAN should be filtered for #1154

Initially, there was just a bug that prevented Adguard from filtering ads in Moscow subway Wi-Fi network. Turned out that is located inside of a LAN, which we exclude by default. Rather than making an exception for this particular network, we decided to choose a more broad approach and create a new preference.

  • [Changed] Aggregate all removed apps stats in one item #806
  • [Changed] 'Blocked' pages markup was updated #1029
  • [Changed] Translations were updated #1138
  • [Changed] 'Notification without icon' mode is made default for 'Notification icon' setting #988
  • [Changed] Locale-specific number format is used now on the main screen #1117
  • [Changed] 'Removed apps' package icons now appear inactive in the apps list #1105
  • [Fixed] Data stats are shown for Adguard app in Apps Management #889
  • [Fixed] 'Learn more' button link resolves to an undefined page #1113
  • [Fixed] FAQ UI is broken on Android 5.1.1 when you highlight the text #1097
  • [Fixed] The quick settings tile doesn't highlight/shade when you toggle the protection #1100
  • [Improved] 'App details' activity is sped up considerably #1099
  • [Improved] pref.filtered.ports setting now can understand port ranges #830


[Added] 'Watchdog period' advanced setting #1067

Depending on the firmware, Android might be very aggressive to background services, killing them really frequently. In Adguard case this aggressive behavior may be truly destructive. This feature starts a special 'watchdog' service, which keeps Adguard's main process alive. However, it is disabled by default as most of the Android devices do not suffer from the 'random process killing' issue.

  • [Added] ABVPN filter #1015
  • [Added] Hungarian filter #1011
  • [Added] Adguard French filter #1127
  • [Changed] Default HTTPS exclusions list was updated #1116
  • [Changed] 'Update only over WiFi' option is grayed out when automatic filters update is disabled #953
  • [Fixed] Crash while updating Adguard #1086
  • [Fixed] 'Filters autoupdate period' graying out bug #956
  • [Fixed] Premium license expiration notification is shown after the first installation #1062
  • [Fixed] Cannot send MMS when Adguard is in Proxy+Auto filtering mode #1058
  • [Fixed] VpnService.prepare crashes due to XPosed module #1084
  • [Fixed] An attempt to get a license from within the app makes Adguard crash when there's no browser installed #1112
  • [Fixed] Compatibility issues
  • [Improved] UDP connections handling was reworked #906

It hasn't been long since we have released an urgent hotfix for Adguard v2.8, and today there is going to be another one. It is not normal when such things happen, we realize it, and want to apologize to all of you. We'll do our best to avoid such situations in future.

The most major fixed problem concerns one of the low-level settings - pref.vpn.ipv4.bypass, which, as the name suggests, allows to disable filtering for all ipv4 traffic. It was simply missing in the latest release version.

Along with the problem mentioned above, a couple of other issues were addressed.

An important hotfix for the recent release of Adguard v2.8. It contains only one, but crucial fix:

[Fixed] Routes exclusion string bug #939

This bug affected Adguard's work in WiFi networks and could lead to several problems, such as: no filtering fore some websites, local network FTP-server disability, incorrect functioning of WiFi calling feature.

Finally, it's time for Adguard for Android 2.8 to come to light! It brings the ad blocking quality to the next level with several big novelties such as Simplified domain names filter or extended CSS support. Many new low-level settings will allow advanced users to customize app to their liking, and for all the rest we bring quite a few quality of life improvements and bugfixes. We hope everyone finds something useful in the new Adguard for Android version.

Ad Blocking

[Added] Support for Extended CSS and Extended Selectors #810

Extended CSS support is a very important addition in terms of future (and present) possibilities that it opens for ad blocking. Extended CSS is a module for applying CSS styles with extended selection properties. Basically, it means that we will be able to select and, therefore, block some elements that we would not be able to block otherwise. Currently we support following pseudo-classes: -ext-has ( :has ), -ext-contains ( :contains ), -ext-matches-css ( :matches-css ).

'Extended selector' is a technical term, but what hides behind it? With extended selectors support, we can much more easily create some rules that were very, very hard to create earlier. Notably, this concerns rules required to block such things as 'Sponsored posts' on Facebook.

[Added] Simplified domain names filter #876

Fresh addition to the Adguard filters family. Simplified domain names filter is composed of several filters (English filter, Social media filter, Spyware filter, Mobile ads filter, EasyList and EasyPrivacy), modified for better DNS filtering. It blocks ads and trackers wherever it is possible to indicate own DNS addresses. Note that it will block the whole domains and not the specific URLs. You can learn more about DNS blocking by visiting our website

[Changed] "Filter DNS requests" feature is now available for non-premium users #875

With Adguard DNS introduced and being free, there is no point in keeping this Adguard for Android feature paid. Now it will be equally accessible for all users alike. There is still plenty of good stuff in the Premium version of the app :)

[Added] low-level flag #907

This option will allow rooted users to automate removing Youtube app data, which appears to be crucial for blocking ads in it. By the way, in one of the recent articles in our blog you can find a detailed guide to blocking ads in YouTube app.

  • [Added] 'pref.filtered.ports' added to low level settings - advanced users can now add new ports to filter #796
  • [Added] $websocket content type modifier - it will enable to use rules written exclusively for WebSocket connections #801
  • [Added] $important rule modifier #833
  • [Added] Latvian filter list #730
  • [Added] List-KR filter list #756
  • [Added] A new low-level setting: "pref.boot.startup.delay" #776
  • [Changed] Multiple browsers added to the list of browsers filtered by default #757, #808, #862, #922
  • [Fixed] $replace rules can now be applied along with other filtering rules #844
  • [Fixed] $app modifier is ignored when HTML content is being filtered #921
  • [Fixed] HTML filtering rules with wildcard attribute can not be parsed #917
  • [Improved] Users are now allowed to select filters update check period #746
  • [Improved] Increased content filtering rules maximum length limit #590
  • [Improved] HAR file writer, which is used for debugging purposes #784
  • [Improved] QUIC-connections blocking for the Chrome browser #766


[Added] pref.vpn.ipv4.bypass low-level setting #909

If this option is enabled, Adguard will ignore all IPv4 connections. This might appear wierd and unnecessary, but in reality it allows to use Adguard as a 'DNS-level' ad blocker. You only need to enable the following options: pref.vpn.ipv4.bypass, pref.vpn.ipv6.bypass, DNS requests filtering and Adguard DNS filter (the latter is not crucial, but will help immensely with blocking ads in browsers). Adguard will cease filtering other apps' traffic, and will only block ad domains on the DNS requests level. As a result, ad blocking quality will drop and Firewall functionality will not be available, but also there will be close to zero performance penalty.

  • [Added] VPN restart feature #733
  • [Changed] Updated default SSL whitelist #843, #848
  • [Changed] Protection is now paused automatically when Bluetooth tethering is detected #791
  • [Changed] IPv4 connections now have priority over IPv6 connections #802
  • [Changed] New server is now used for filters #863
  • [Changed] The way Adguard blocks IPv6 #853
  • [Fixed] Wi-Fi calling for AT&T #817
  • [Fixed] Crash due to "Too many open files" error #834
  • [Fixed] ENOBUFS error while writing to the TUN #724
  • [Fixed] SOCKS 5 proxy blocks internet traffic #660
  • [Fixed] Error processing HTTP/2 requests #850
  • [Fixed] HTTPS connections with some upstream HTTP proxy #839
  • [Fixed] "Operation not permitted" error while processing UDP connection #840
  • [Fixed] Issue with traffic slipping through firewall #765
  • [Improved] HTTPS is now used for safebrowsing service requests #912
  • [Improved] Adguard styles are now protected from removal #913
  • [Improved] Adguard automatically detects when Adguard's certificate is moved to system certificate storage (Helps with https filtering in Android N+) #755


  • [Added] 'Installation date' to the app details screen #794
  • [Added] A Quick Settings tile for Android N and up #767
  • [Added] A low level switch to enforce "protection paused" notification to be visible even when notification icon mode is set to 'None' #838
  • [Changed] Some localizations were updated #919
  • [Changed] Filtering methods explanations were updated #136
  • [Changed] IME (typing) mode for adding/importing custom rules dialogs #835
  • [Changed] System packages list is added to the "Tech info" section of "Android OS" details screen #857
  • [Changed] Apps Management screen is automatically updated when new app is installed - no need to restart Adguard anymore #747
  • [Changed] 'Apps and Statistics' section renamed to 'Apps Management' and brought to the main menu #823
  • [Fixed] Time format on main screen now follows system settings #819
  • [Fixed] Unnecessary exception is logged #854
  • [Improved] Filter editor now recognizes lines starting with "!" as commentaries in user-imported filters #759

Minor and compatibility issues

Lots of other minor issues and compatibility fixes. The full list can be found in our GitHub repository inside the descriptions of previous beta versions.

For the full version history visit this page.
Try AdGuard ad blocker for Android apps for free and feel the difference! Once you go with our app on your tablet or mobile phone, you'll never want to go back.
More on AdGuard
We are always open to communication. You can leave feedback on AdGuard for Android on our Forum.
We have an open bug tracker, so feel free to report issues or simply check what we are working on at the moment.
Have a question that is not answered on this page? Head to our Knowledgebase, as it is likely to be covered there.