Ad blocking without rooting, OR low-risk rooting


Question

I have previously nervously rooted phones I've owned (Samsung S2, S3) as I wanted to be able to use AdAway ad-blocker, effective not just in browsers (e.g. AdBlocker) but also in other apps. I say nervously because I always found the mode in which these modified ROMs are offered (websites such as XDA developers) a bit dodgy/flimsy. Nevertheless, this has worked well in the past, but I am aware that I might just have been lucky, as those forums abound with bad experiences, i.e. bricked phones, or at the very least tons of wasted time trying to at least make your phone work again even in its stock let alone rooted firmware.



Now I have a new phone, the most expensive I've owned so far (S7 Edge), and browsing these same websites again, I feel just as edgy performing this risky operation. For instance, the S7 Edge section of the XDA-devs website has several rooted ROMs available, however without spending hours and hours it is not obvious what the differences between them are. To name, just a few doubts:



1) how are 'recovery' firmwares different from ones just called 'Kernel' or 'ROM'?



2) in what way does each of those ROMs differ from the CyanogenMod, which I've happily used in the past but for which there is no S7 Edge version released from what I can see? Incidentally, I used Odin to install CyanogenMod on my old phones, rather than a 'recovery'.



3) are there major differences in how the S7 Edge will operate with such a rooted firmware/ROM as compared to the stock one? Specifically, will it be any more vulnerable to exploits etc, given that no-one can really tell whether these ROMs have e.g. built-in trojans?



Given all these concerns about Android rooting, is there any way that adblocking can be performed without rooting? If not, what is the least-intrusive and least-risky way to root an Android (in this case an S7 Edge)?


Answer

It would be better if you split your question into three individual questions, but since they are linked to each other, I'll answer them here for you.




1) How are 'recovery' firmwares different from ones just called
'Kernel' or 'ROM'?




They refer to different things altogether.



Recovery :



Recovery refers to the dedicated, bootable partition that has the recovery console installed. A combination of key presses (usually power + volume up) or instructions from a command line, will boot your phone to recovery, where you can find tools to help repair (recover) your installation, install official OS updates and/or custom ROMs and other stuff.



Recovery firmwares contain a custom recovery file that enables you to do a lot more additional things than what the stock recovery offers. This can include options to re-root your device, a file browser to browse through your files, format individual partitions and more.



Kernel :



Kernel is the core of the operating system that handles requests to and from the hardware, memory and process management and all the low-level stuff that is necessary for Android to be able to run. It is based on the Linux kernel with a few modifications to suit it to Android versions.



Kernel firmwares contain a kernel that, when installed, replaces the existing kernel and modifies the low level stuff in order to tweak the software to make better use of the hardware. Better battery life, higher performance, increased signal reception, etc. are some things a custom kernel can do.



ROM :



A custom ROM replaces your device's Android operating system — normally stored in read-only memory — with a new or modified version of the Android operating system. A popular custom ROM is CyanogenMod, which gives you a host of new options as compared to the original firmware.



ROMs may contain a different Android system altogether or might also include a kernel and/or a recovery. It's best to read the OP on those threads to find out what it contains.




2) In what way does each of those ROMs differ from the CyanogenMod,
which I've happily used in the past but for which there is no S7 Edge
version released from what I can see? Incidentally, I used Odin to
install CyanogenMod on my old phones, rather than a 'recovery'.




This is subjective to the ROM you are referring to. Some ROMs use the RRO-Layers engine for theming, while others use the CyanogenMod theme engine. Some ROMs might have additional features over those present in CyanogenMod, others might have a different user interface altogether.



As to the unavailability of an S7 Edge version of CyanogenMod, this is because official builds aren't made yet or are in the works.




3) Are there major differences in how the S7 Edge will operate with
such a rooted firmware/ROM as compared to the stock one? Specifically,
will it be any more vulnerable to exploits etc, given that no-one can
really tell whether these ROMs have e.g. built-in trojans?




Again, these are subjective to the ROM you choose. Basically, some offer better performance, others offer better battery life, and a few more offer a mix of the two. It depends on which ROM you choose.



There are a few ROMs that might be more vulnerable to exploits than others. Therefore, it is recommended to go for an official build of a popular custom ROM, as they are tested and checked so that they would not contain malware.




Given all these concerns about Android rooting, is there any way that
ad-blocking can be performed without rooting?




As @xangua said, Adblock Plus will filter WiFi traffic, but needs a proxy server configuration.




If not, what is the least-intrusive and least-risky way to root an
Android (in this case an S7 Edge)?




Rooting is device-specific. There are different ways to achieve root access on different devices. In the case of an S7 Edge, you could try Kingo Root, it has been claimed to work on an S7 Edge. However, be careful, one wrong step can brick your device.


Topics


2D Engines   3D Engines   9-Patch   Action Bars   Activities   ADB   Advertisements   Analytics   Animations   ANR   AOP   API   APK   APT   Architecture   Audio   Autocomplete   Background Processing   Backward Compatibility   Badges   Bar Codes   Benchmarking   Bitmaps   Bluetooth   Blur Effects   Bread Crumbs   BRMS   Browser Extensions   Build Systems   Bundles   Buttons   Caching   Camera   Canvas   Cards   Carousels   Changelog   Checkboxes   Cloud Storages   Color Analysis   Color Pickers   Colors   Comet/Push   Compass Sensors   Conferences   Content Providers   Continuous Integration   Crash Reports   Credit Cards   Credits   CSV   Curl/Flip   Data Binding   Data Generators   Data Structures   Database   Database Browsers   Date &   Debugging   Decompilers   Deep Links   Dependency Injections   Design   Design Patterns   Dex   Dialogs   Distributed Computing   Distribution Platforms   Download Managers   Drawables   Emoji   Emulators   EPUB   Equalizers &   Event Buses   Exception Handling   Face Recognition   Feedback &   File System   File/Directory   Fingerprint   Floating Action   Fonts   Forms   Fragments   FRP   FSM   Functional Programming   Gamepads   Games   Geocaching   Gestures   GIF   Glow Pad   Gradle Plugins   Graphics   Grid Views   Highlighting   HTML   HTTP Mocking   Icons   IDE   IDE Plugins   Image Croppers   Image Loaders   Image Pickers   Image Processing   Image Views   Instrumentation   Intents   Job Schedulers   JSON   Keyboard   Kotlin   Layouts   Library Demos   List View   List Views   Localization   Location   Lock Patterns   Logcat   Logging   Mails   Maps   Markdown   Mathematics   Maven Plugins   MBaaS   Media   Menus   Messaging   MIME   Mobile Web   Native Image   Navigation   NDK   Networking   NFC   NoSQL   Number Pickers   OAuth   Object Mocking   OCR Engines   OpenGL   ORM   Other Pickers   Parallax List   Parcelables   Particle Systems   Password Inputs   PDF   Permissions   Physics Engines   Platforms   Plugin Frameworks   Preferences   Progress Indicators   ProGuard   Properties   Protocol Buffer   Pull To   Purchases   Push/Pull   QR Codes   Quick Return   Radio Buttons   Range Bars   Ratings   Recycler Views   Resources   REST   Ripple Effects   RSS   Screenshots   Scripting   Scroll Views   SDK   Search Inputs   Security   Sensors   Services   Showcase Views   Signatures   Sliding Panels   Snackbars   SOAP   Social Networks   Spannable   Spinners   Splash Screens   SSH   Static Analysis   Status Bars   Styling   SVG   System   Tags   Task Managers   TDD &   Template Engines   Testing   Testing Tools   Text Formatting   Text Views   Text Watchers   Text-to   Toasts   Toolkits For   Tools   Tooltips   Trainings   TV   Twitter   Updaters   USB   User Stories   Utils   Validation   Video   View Adapters   View Pagers   Views   Watch Face   Wearable Data   Wearables   Weather   Web Tools   Web Views   WebRTC   WebSockets   Wheel Widgets   Wi-Fi   Widgets   Windows   Wizards   XML   XMPP   YAML   ZIP Codes