Include a battery charge limit app

So, apparently these apps can only be installed on a rooted phone, and apparently rooting is not secure.

So therefore, I think it would be advisable to install an app like “Battery Charge Limit” from the start.

Note that there IS a large memory effect even on those batteries that claim not to be affected by it.

Regain your privacy! Adopt /e/, the unGoogled mobile OS and its online services!phone


I use this, you can get it to alert you at various charge levels.

Apps that limit charging need root, yes.

There are other apps like BatteryBot Pro or Safe Charger - IzzyOnDroid F-Droid Repository that will alert / notify you when a pre-determined limit is reached.

Battery Charge Limit is old now (2018) so I do not know how well it will work on modern Android. The aforementioned ACC may work better.

I’ve only used a few custom ROMs on my OnePlus 8T. At least one of them had a built-in battery charge limiter (forgot which one, crDroid or Jaguar). If it was crDroid (LOS-based) then it should be possible to do so in /e/OS.
We can only hope.


crDroid has this function.

That’s the thing… the Teracube 2e with the Google’d OS installed has a battery charge limiter built-in, the Murena Teracube 2e with /e/OS doesn’t.

As to the Battery Charge Limit app, I have an idea, but I’m not sure if it’d work.

Battery Charge Limit checks for supersu at the very first of its startup. That’s why it needs a rooted phone.

If we had a supersu ‘spoofer’ (something which tells apps checking for supersu that it’s available), that’d keep the app running past that cursory check for a rooted phone.

Then, we’d have to convince the /e/OS developers to bring back Root ADB (which was in an earlier version, but it’s not an option in Developer Options now).

We’d use Root ADB to grant Battery Charge Limit the permissions it needs to run.

So Battery Charge Limit would start up, check for supersu, the ‘root spoofer’ would get it past that cursory check, and the app would have all the permissions it needs to run granted to it manually via Root ADB.

Thus it should run, even if the phone’s not rooted.

We could do the same for all the apps which need root… all we need is that stub of an app which falsely reports that supersu is available, and we need Root ADB back, and we need to figure out what permissions an app needs and grant those permissions via Root ADB.

I’m thinking specifically about AFWall+ here, which I’d love to get installed on this phone.

Just an FYI for rooted users…

The developer of App Manager has just released Battery Charge Limiter, an updated fork of Battery Charge Limit.
The old BCL works fine with /e/OS 1.1-q on the Essential PH-1 so I’ll test the new BCL on the Teracube T2e emerald running 1.2-r and see how it goes.

Battery Charge Limiter on GitHub


This. This is why we need root ADB back.

If the developer sets it up so that it checks individual permissions, rather than doing a proxy test for root as Battery Charge Limit does:

BatteryChargeLimit / app / src / main / java / com / slash / batterychargelimit / activities / MainActivity.kt

// Exit immediately if no root support

        if (!Shell.SU.available()) {




Then we can use root ADB to grant the permissions the app needs to run, without requiring rooting the phone.

We used to have root ADB, but it was removed from Developer Options a couple updates ago.

That’s what ForceDoze does… if it doesn’t have the permissions it needs on an unrooted phone, it’ll walk you through giving it the permissions it needs.

You know what’s really weird? I have my phone plugged into a USB port on my computer. I rebooted my computer and after that, I thought the phone wasn’t charging anymore because it drifted down off 100%.

I let it go, just to see how long it took for the battery to drain while I was using it. But it stopped decreasing at 78%, and it’s been there for days now.

I’m not sure if that’s some weird glitch between my computer (Dell Inspiron) and my phone, whether the USB port has some sort of battery sensing (which I doubt… it’s not really a new computer), whether the USB port can only provide enough power to keep the phone from draining much (I doubt it, since it can charge the phone to 100% if I unplug and plug it back in), or whether there’s some code on the phone that’s doing that.

If I unplug and plug it back in, and I don’t reboot the computer, it’ll charge the phone to 100% and keep it there.

Just to be clear, when you say root ADB, is that the same as Rooted Debugging?
If so that is present in /e/OS 1.2-q on my mata but not present in 1.2-r on the Teracube, as you mentioned.

It would seem Battery Charge Limiter isn’t working as far as limiting charging. Have yet to deal with that. At least the battery stats reset is working when I unplug.


There was, in prior versions of /e/ OS, a ‘Root ADB’ in Developer Options that I enabled.

I read that it’s generally only available in development builds, or if you’ve got ro.debuggable=1 in build.prop or default.prop or local.prop. Problem is, with this ‘superpartition’ setup, I don’t know how to edit those files.

Typing ‘adb root’ changes the # to a $ in a command prompt and gives you rooted control over the phone via adb if Root ADB is available and enabled. With that, you can manually grant permissions to apps.

Right now, I get:
ADB Root access is disabled by system setting - enable in Settings → System → Developer options

But it’s not there. Nor is rooted debugging. The word ‘root’ doesn’t appear in Developer Options in the latest version of /e/ OS (1.2-20220725206059).

1 Like

So are we saying that “Rooted debugging” does not exist in stable builds? I certainly have it in 1.2-beta.2-q-20220714203648-dev-a3xelte

Also to me is not there, in 1.2-r-20220726206059-stable-FP4:

Hello :


Battery charge limit works (magisk, crdroid, galaxy tab s6 lite wifi)

I wasn’t on crDroid at the time you wrote that and then I forgot.
I wound up putting crDroid back on the OnePlus a couple of weeks ago. It has a built-in battery charge limit feature that doesn’t work. Then I had Battery Charge Limiter which also didn’t work.

Then today I remembered your post and put the old Battery Charge Limit on it. Yep, it works perfectly. Thanks.

Another reason I went back to crDroid is because OmniSwitch works on it. :grin: