[Verizon Galaxy Note 4 Android Development] kevintm78:
A Long Reply

by Kevin McCord

A novella from Kentucky Fried Publication​

,

Disclaimers;

A portion of dij_333's post has been removed because apparently XDA has word limit of 3,000 (did anybody know that?) and between the two of us we surpassed it. (JESUS CHRIST!)

Started feeling guilty and removed the devs name since it's probably the right thing to do

Also, I go on to disparage a recognized member of this community for which I do not apologize for. I've been holding that in for like 4 years and I feel little bit better now. :)

For the disparaging remarks that I'm also not apologizing for that I made about XDA, I kind of hope nobody important sees it.

You remind me of myself in a lot of ways. Lol. I don't mean that in a negative way, I just recognize that same sort of confusion after researching a bunch of stuff. I've learned just about everything I know about smali, apktool, Linux, scripting, git and compiling, or anything else pertaining to android here on this website but the information is scattered, outdated, unnecessarily complicated, or flat out wrong. The amount of questions you have is why I believe you when you say you're doing your research and there's probably very few people that are posting projects that didn't have someone helping them out in the beginning. I'd like to think that I would pass along anything I've learned anyway, but knowing how much help I've gotten makes me also feel obligated as well. I only wish I had asked sooner, but the first person I reached out to was such a **** about it that I tried to do it on my own and spent about 8 months trying to figure out just the basics of modifying apks only to find out that all I was missing was a single step. I no longer shy away from it though and every other person I've consulted has been very nice about it, even the people that would appear to be above helping out a newbie. Guys like topjohnwu, osm0sis, superr, and many, many more have all taken time out of their day to help out a guy that will probably never make a meaningful contribution to android development so it always irritates me a bit to see someone being rude to people, or in some cases not even responding to people, just because they posted a rom or kernel and people have questions about it. Especially considering how easy it is to do when you learn what tools to use to do it.

I think there's a lot of people who take all of this too seriously or are only in it for the number of thanks they can get or titles by their user name. Daxgirl (co-creator of Rom Control and many of the mods you see in most roms including this one) is a huge proponent of open source and she once said "you can't change 2000 lines of code out of a million and call it yours" and that has always stuck with me. Even though I wouldn't just take from other roms or projects, seeing people put all these disclaimers in the OP saying stuff like "any use of this rom without proper permission is forbidden" makes me want to ask if they asked Samsung about using their work or did they just kang it and call it their own, but we all know the answer to that question.

Sorry for going off on a tangent. I meant to just give a little summary of my journey and how you're posts remind me of that, but then I started thinking about (redacted) and his blatant disregard of open source policy. What's worse, IMO, is that XDA backed him up when he was called out by one the cyanogenmod developers. You know, one of the guys that set the table for him to build the roms he was building. Of course that whole debate has been scrubbed from his rom thread and that, my friends, is why XDA loses more and more real developers as time goes by and is the reason that daxgirl and wuby no longer contribute. All they asked is that everyone who uses Rom Control (which is open source) post a link to the modified source code, that they had been given, and beyond that people were free to use that app for anything even commercially.

So, before I start responding to your post (again, I'm sorry for the rant) I'd like to make this point. We all hate that nearly every major OEM closes their sources, even to their kernels which is supposedly forbidden under the GPL license. Apparently that's not enforced though since the biggest offender is Apple and I don't remember ever seeing them even be questioned about it, but at least I can partially understand major corporations doing it from a R and D point of view. If we at XDA don't abide by open sources, and considering we're probably the only ones that care, then the days of Android modifications are on their way out the door and you'll start to see more and more of these private Telegram groups where a lot of good information is being shared. As someone who needs the guides on this website I rarely participate in the few groups that I'm a part of and the reason I rather not answer questions in PM's because you never know who may have that same question because it was never publicly answered.

........ Climbs down from soapbox (a little nod to the Dev who was getting ripped apart by our fellow 910V users for politely explaining to everyone why (redacted) was wrong)

Ok, back to our regularly scheduled program....

Full disclosure, I don't have modest rom installed at the moment because I've been working on a pie rom that's on one phone and an android 10 rom that is on my spare. Otherwise, I'd go through the troubleshooting steps with you to make sure what I'm saying is accurate. Apologies in advance for any mistakes.

That box sure is busy

Busybox isn't entirely necessary unless you are using an app that requires it (for example viper4android and Titanium Backup) or you want/need to use some of the utilities that are included within. I haven't used a busybox checker app since system-less environments became a thing so I'm not real sure if they check for only system installs but that is what I'm thinking is going on. Another reason I need to update this rom is that during the flash process busybox is getting flashed to the system partition as well as system-less and that's a big part of what's giving you problems. Since the last release of this rom I've learned that everything goes to the correct mount points much more consistently if you let Magisk construct its mirror environment on the first boot and then flash whatever modules that you want to use. These days Magisk also comes with busybox built into it but if I'm not mistaken it won't stop apps that need it to run from asking for it and you can't call any of the utilities from the command line in a terminal app. If you don't have any of those apps or need any busybox utilities then the built-in Magisk version is good enough.

Osm0sis' odd's and end's thread is probably the thread I visit most often. Not only because of all the great scripts and tools but there's a gold mine of information in there as well. But even guys like him make mistakes and that is another reason you're having trouble. I don't remember which version it got corrected in but the version in the rom zip gets installed to the wrong system directory. Instead of the proper location which is /system/xbin it's being installed in /system/bin which could be causing problems for the uninstallers since they're not looking in the correct spot, which is the wrong spot (I hope that makes sense). To be perfectly honest I don't know if there's an easy way to fix that problem. I had forgotten about that issue until now and I will make sure to get this update in the works because that could definitely be the cause of certain apps failing if they're checking to see if the system partition has been modified.

One other note about busybox that I meant to add earlier is that you can check the version installed and all the utilities that are included by using a terminal app. From the command line just type

busybox

and it will give you a read out of everything included. If you're using Termux then type su first, grant superuser, and then type busybox. Otherwise Termux will tell you about it's own busybox that it comes packaged with. There's a way to point it to your system busybox but I can't think of how it's done off the top of my head.

Cache - to wipe or not to wipe? That is the question

I was checking just now about a way to go about getting rid of that wayward busybox and found my way in to the Magisk files and it reminded me to mention this. Cleaning the cache shouldn't hurt anything but I would advise you do it before flashing Magisk and once Magisk has been flashed not to wipe it again. In the past Magisk relied more on the cache partition, these days not so much. It does however keep some files there, mostly logs, but they can come in handy from time to time and I'm not sure you're gaining anything by wiping it again.

A tale of two kernels (its actually 3 but whatever)

Its probably confusing to some degree but Flashpoint v3.1 that is downloaded from my androidfilehost page doesn't have the adb issue that the version of the same name has that's included in the rom zip. If you want to use 3.1 you shouldn't have any major issues that I'm aware of, but I do prefer and suggest using v5. It appears to be a regression since a lot of the features from the predecessor have been omitted but when working on v5 I had started over with the Linux upgrade from 3.10.40 to 3.10.108. Flashpoint v3.1 was still using my first attempt to upstream and there was a point in that process where I got very overwhelmed. Working my way through those 68 version increases started to feel like it would never end and I started to rush it. Version 5 was my 4th (I think) time through the upgrade process and I felt much more comfortable with the changes I was making and when compared to the changes I made in v3.1 the coding mistakes start to pile up. I have intentions of adding some features back to it but there's really no time table for it since building open source roms is what's kicking my ass these days and when I spread myself too thin I end burning out sometimes.

50 ways to leave your kernel

You just step out the back Jack

Get a new plan Stan

No need to be coy Roy...... Wait a minute, that's for another guide I'm working on.

Sorry, this is turning in to a short story and I'm starting to lose it a little.

So changing kernels... There are 2 files that I always have on hand for this and they are the stock CQL1 boot.img and osm0sis' unsu.zip which will remove all of the different types of superuser programs that you're likely to run into. I prefer it over the Magisk installer just because it seems to do a more thorough job. That's not to knock topjonwu but osm0sis has just been at this sort of thing longer and even chainfire's uninstaller doesn't always fix all the things it touched.

It should be enough to flash the unsu.zip and then the stock kernel, let the phone boot up, then go back to recovery and flash the new kernel. If you'd like to be on the safe side you could also flash the Magisk uninstaller as well either before the unsu.zip or after, as long as the stock boot.img is last in the process. You could also wipe caches after flashing the stock boot.img as well but I don't believe it's necessary.

I'll add a little note as well on why I think it's important to remove su programs (particularly Magisk) and flash the stock boot.img before a switch. I think most people probably just flash the new kernel, then magisk, and that can work but it can also provide a lot of hard to track down problems. One of the reasons for that is the evolution of Magisk, or rather the evolution of topjohnwu. I imagine every young developer makes mistakes and especially ones that are (in the beginning) the sole developer for such an ambitious and complex project. As far as I know most of the work that goes into magisk is topjohnwu but if you look at the source code there are more and more entries from some of best on this website. Come to think of it, I think I read somewhere that the uninstaller that Magisk uses might be scripted by osm0sis so my earlier advice could be outdated. Anyway, back on the magisk evolution topic, that program has changed mount points a few times and part of that is the developers learning curve but its mostly due to the cat and mouse game between magisk and safetynet. Before this last change, which is the most revolutionary as it moves magisk and its mirror environment to the ramdisk, or more specifically the sbin folder inside the ramdisk. Which for us means its inside the boot.img (android 10 its still in the system because of the System-as-root structure change that is currently giving me nightmares). Up until maybe 6-8 months ago I don't think topjohnwu and osm0sis had been consulting each other, or at least not often, and since osm0sis makes most of the tools and scripts that more than a few kernel builders use things would get broken now and then. The last issue was really weird, there was ramdisk degradation happening and I have little to no idea what that means other than both of them saying it was bad. The solution, the only solution, was to flash a stock boot.img. That's most likely no longer an issue but since this rom is packaged with an older Magisk version and its a pretty simple process I'm going to keep recommending it as I still think it's a good idea. Especially when considering that issue was around for a bit before anyone noticed.

Missile Anus

Chalk Adaway up to another shortsighted mistake. Geez, how many does that make now? Maybe it should be called Flawed-est Rom. This guy sucks!

That app does not need to be nor should it be a system app. I would recommended deleting it altogether and then go to the adaway thread (link in 2nd or 3rd post) get the latest and just install it as a user app. If you'd like to keep adaway from modifying the system then be sure to activate the system-less hosts module that's built in to magisk and activated from the settings inside the Magisk manager, reboot, then enable adblocking in adaway.

As far as using Titanium Backup to uninstall apps with, I would not advise. TiBu has a tendency to take more than it should and it can be difficult to figure out what's missing. Instead just use a file manager with root capabilities and uninstall that way. The path you're looking for is /system/app/adaway.apk and its not in a folder so chances are it's at the bottom, below the other folders.

Carrier aggregation is something I know very, very little about and I'm afraid I'm not going to be able to help much with that, but I'll definitely keep my eyes open for any information on that.

I'll look into those app errors too. I'll probably need to install the rom to get a better idea of why certain apps are failing, except for the VVM app which I can't use. I use Verizon's prepaid service and it doesn't work with the visual voice mail.

I would like to summon my benefactor (or maybe he prefers sugar daddy) [MENTION=7749128]BeckPC[/MENTION] to see if he still has a copy of that newer VVM app. He had given it to me once before and I think I had formatted my internal sdcard without making a copy of it. That could make a difference though.