I recently upgraded my Oneplus 3 to OxygenOS 4.0.3 – which runs Android 7.0.
I discovered that I could no longer write to the hosts file to do ad blocking and this was driving me crazy, so I set about changing the OS to allow me to do this – it required a single letter tweak to a file – but, unfortunately this file is embedded in the heart of the ROM. Other then tweeking the fstab file in the initial ramdisk image to mount /system rw I have made no changes to the source code. (Of-course, it is possible that when I repackaged this I did something slightly wrong, being that I’ve never done this before)
Subsequent to installing this file (and SuperSu, of-course), Adaway again happily does its thing and adverts have vanished.
I am uncertain of the security implications of allowing /system to be rw – but I am sure its less of a frustration then being bombarded with adverts (and, come to think of it, it must be safer as well). I wrote a question on android.stackexchange, which suggests the threat is not that great – certainly less then the alternative hack I came up with which required disabling selinux.
If anyone wants it, they can download it here. This file has an md5 sum of 0729ae4ba8d30ccf2a5ec0982021abb6 and a sha512 sum of e8c8e4bdbe960cfcbd0ce564710144bfac8ba663de6fd9df8a858a567f7317309bf6bad5645142feede6ae8741a5b3eaced2c4fd1214fdc6476d808f4f9b1dd9. Its a drop-in replacement for OnePlus3Oxygen_16_OTA_041_all_1702081756_f9fb218af59d4aa6.zip from the OnePlus 3 website. I expect it is smaller then the Oneplus 3 file because of different zip file compression ? The file is about 1.5 gigs compressed. Usage is, of-course, at your own risk. If you brick your device, don’t come running to me. The only guarantee I make is that I flashed this firmware on my system and it behaved as expected.