App will not run, says device is rooted

Hi!

I recently installed /e/ on my Fairphone 3 following this guide. Yay for offering /e/ on this phone!

However, I have a problem that a payment app (“Vipps”, a Norwegian payment app) detects the device as “rooted” and will not run. I do not think this is an issue with microG, as I had this app running previously on an LG3 with microG and LOS16.

I did check this thread on a similar issue, but I couldn’t find a solution there.

Not having this app is really painful. So, any ideas on how to fix it?

Yeah, it’s very crazy. A lot of banking apps aren’t working on eOS because of missing goolag services (the error message regarding root is a ‘global’ error message)
you can try this way [HOWTO] Installing Banking Apps

For some banking apps it es working

Great, thanks for this pointer!

I think I will first try wiping caches and reinstall /e/, as that worked for a user on FP2 and seems a simpler thing to try, but if it doesn’t work, I’ll try the magisk stuff you linked to.

I’ll let you know how it goes.

UPDATE

First I have to enable developer mode and enable usb debugging again, no problem.

First real problem comes when wanting to flash TWRP. Guides (e.g. here on /e/ community) say to
fastboot flash recovery twrp.img, but that gives error

FAILED (remote: partition table doesn’t exist).

The reason, as I found out via searching, is that Fairphone 3 supports A/B partitioning, which led me to this explanation and guide - there is no separate recovery partition on Fairphone 3.

I don’t think I’ll have more time for this today, so new update (and hopefully success) tomorrow.

(I may also add that, as I do this from MX Linux, I have to do sudo on all fastboot commands, e.g. sudo fastboot devices. If not, I get an error: no permissions (verify udev rules) )

As you found out, the guide does not apply to FP3 because of the A/B partitioning.
But you can boot twrp via
fastboot boot <twrp.img>
(or in your case sudo fastboot boot twrp.img)

1 Like

Got any further , trond? I have the same phone, want to use the same app, but won’t flash if this doesn’t work.

@lalala, @trond.

I’ve done some digging and found the root checking library that vipps is using, called Rootbeer. I am pretty sure that the specific check that is failing is this one:

I’ve checked and getprop ro.debuggable does indeed return 1 on my device. I think that is because the builds are created in “userdebug” mode instead of a cleaner production build without extra debugging info included.

I’m not sure where to go from here. We could try to raise an issue with the Rootbeer guys and argue that it’s a false positive maybe? (My device is not rooted). It could take a while before that change makes it into vipps though.

Hi,
could you try to flash « magisk » with TWRP, it is a paradoxal advise,
because root is not your intention.
magisk allow some apps to get root permission, but it hide to others apps that the device can be rooted

Thanks @piero, I already know about magisk but I’m not interested in rooting my phone, so I won’t be doing that even if it could work. Maybe someone else will try it and report back.

I’d be more interested in finding ways to allow apps that use libraries such as Rootbeer to work flawlessly out of the box on /e/. I think the only problem standing in the way of that is the ro.debuggable flag.

1 Like

Digging a little deeper, I found this thread (now closed) which advocates for switching the build mode from userdebug to user, and based on the android guidelines linked within that thread I believe that would indeed solve this issue.

I dug around the issue backlog at gitlab.e.foundation without finding any requests or discussions about the build mode, so i opened a new issue. Let’s see what happens. :slight_smile:

4 Likes

Unfortunately not, and I haven’t been trying to for the last month. Will renew the efforts now and let you know how it goes!

That would indeed be best! Seeing as the ambition of /e/ is to be a full-value alternative to android, banking apps like Vipps should work without the user having to install magisk or do other technical stuff.

/e/ is an Android OS.
/e/ is trying to be an Android OS with as little Google stuff in it as possible to get users some much-needed privacy, but it is still 100% Android.

There will always be Apps which will not work or at least not work 100% with /e/.
That’s just how it is technically when you throw out all those underlying Google services many Apps are being based on.
/e/ can try its best mimicking Google stuff via microG and doing other things to accomodate such Apps, but it will never be 100% like a smartphone vendor stock Android OS certified by Google (I guess that’s what you reference with “full-value”).

That much should be clear before anybody installs /e/ or buys a preinstalled /e/ phone.
Currently the e foundation doesn’t communicate it this way, though. I guess they just accept a certain amount of user dissatisfaction instead of risking to scare away interested people by saying upfront “Some Apps out there might not work as intended, or at all. There’s not much we can do about that apart from what we do already to minimise that risk. Complaints about this are best being directed to the respective App developers.”

What mentionned @aig on the other hand, I wish we could get user build instead of userdebug to circumvent that issue

Sure. I’m all for doing everything possible to improve compatibility on /e/'s side.
But I’m against misconceptions and illusions.

2 Likes

I will try that on my next builds

Sure, but that is not the issue in this specific case. The problem lies squarely in what I would describe as a false positive from a root checking library (although the authors might disagree with my characterization) which stems from the fact that we’re all running debugging builds instead of production builds.

2 Likes

I understand that and I hope the App (and possibly other Apps, too) can be brought to run with the proposed change.

I was only commenting on the wide-spread misconception that Custom ROMs like /e/ are somehow not “Android”, and about the illusion that /e/ could somehow somewhen be as compatible with Apps as a stock ROM certified by Google.

1 Like

Yeah I understand and agree with your sentiment.

I think @trond meant to say “alternative to Google’s android”. It doesn’t seem to me like anyone in this thread believes that /e/ is not android or that it could somehow re-implement all of googles functionality and support everything.

that won’t work, eOS is GOOLAGFREE!!! So you can’t implement the needed goolag services