Android 4.3 is still very new and some Nexus owners are probably still waiting to get their update OTA (you don’t have to wait, by the way). Owners of other devices may have to wait a while before the latest flavor of Jelly Bean arrives on their handsets. In the meantime, some security methods have changed, and there may be some valid reasons why you don’t want to root Android 4.3 — not yet anyway.

Android 4.3 introduces some new security features. Without getting into the technical details (of which there is a lot of misinformation floating around), put simply, the changes make your Android-powered smartphone or tablet more secure. The way things are now, even if you could get elevated privileges, you couldn’t do anything out of the ordinary — well, that was the plan anyway.

This isn’t a problem for me, since I use (CyanogenMod). When there is a situation that I’d need root, I just modify the system to accomodate (SIC) what I’m trying to accomplish in a secure way. I can understand the desire to have full root on stock ROMs, since you’re severely limited in what you can do and there is no provision for making any sort of real changes or improving the architecture.

It’s not so much that Cyanogen is opposed to root-like behavior, it’s more that he feels there’s a better way to do it — without opening the door to everyone to do anything. Think of it this way:

In years past, if you wanted to give someone access to your home, you had to give them a key. This key was essentially the same as the key that you and your family use to open the lock. This key could also be copied and distributed to others that you didn’t explicitly want to give access.

Today, with the right technology, you can have a key for yourself, a key for each member of your family, and you can even distribute temporary keys, or keys that can only be used during certain times of the day. This kind of smart-lock can even record and report access entries by time and by which key was used. (This type of lock isn’t commonplace yet, but the technology exists and we’ll start to see more smart-locks as time progresses.)

Imagine a similar scenario with apps. Apps which need elevated permissions can be given that which they need, but nothing that they don’t need (or shouldn’t have). Take the LED flash, for example. There was a time when only the stock camera could access the LED flash. Other apps such as replacement camera apps, flashlight/torch apps, apps that extend notifications to blinking the LED flash, and others didn’t have any way to get at the LED flash — not without root. If you rooted your phone, this kind of app could access your LED flash — along with everything else. Today, however, Android has an API that lets apps talk directly to the LED flash, no root level permissions are required by the app.

Apply the same logic to any other app that needs root today and you can see where Cyanogen is coming from. He does go on to say that there are a few cases where root is still a valid requirement:

Firewalls and network software, potentially requiring raw sockets

Managing the DNS resolver

Tweaking various sysfs nodes to control the kernel

In the meantime, the way root is achieved in Android 4.3 is different than in previous versions of Android. Koushik Dutta and Chainfire are working hard to permit root in some way on 4.3. Chainfire’s SuperSU carefully works around the new restrictions Google put in place, but initially caused CPU spikes that would consume 100% of your CPU — obviously not a good thing. Chainfire fixed that bug in version 1.43, but it’s still a work-around more than a solution to the changes in Android 4.3.

Additionally, to reduce the probability of running into problems relating to rooting Android 4.3, you should use TWRP instead of ClockworkMod recovery, or at least uncheck the option to “disable stock recovery flash” in CWM. Also, the option to “avoid system recovery” will cause problems for you as well.

For the time being, you may want to avoid rooting your Android 4.3 powered smartphone or tablet altogether, at least until Koushik Dutta and Chainfire have had more time to solidify a solution.

Cyanogen sums up the long-term plan nicely:

Going forward, I’m interested in building framework extensions and APIs into (CyanogenMod) to continue to abolish the root requirement.

Just to be clear- I have no intention of removing root from (CyanogenMod). What I want to see is the common use cases supported by the platform so that we can write more powerful apps.