Have it working for the initial, 'proprietary' user, but then it does not install for further users. The install window accepts the install command, but reports F-Droid is not installed. Android 4.4.2 on a S Samsung Galaxy Note Pro 12.2 GSM 4G 32 GiB SM-P905MZKLZTO.
Designs
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related.
Learn more.
Oh, that's a very interesting bug. I'll be the first to admit I've never tried F-Droid on ANdroid 4.4.2, nor do I have a device which supports it. Perhaps it can be reproduced on an emulator.
Do you experience this bug with other apps?
Also, to clarify, are you talking about installing the F-Droid app itself? or is it when you use F-Droid to try and install other apps?
There are some other apps failing in the additional users, such as Google Earth, and also without any meaningful error messages. I guess multiuser is to new in Android?
Yes, it is about F-Droid itself. As it does not install, no way to try and install other apps...
The issue was first posted to fdroiddata, so I had a look at it, but emulators (even based on N7) seem to be phone-only.. at least i couldn't find the multi user settings.
It would be great to have this working, because the multi-user feature is a great way of having isolated workspaces (especially since it switched to a sane design in Lollipop and then became quite hardened in Marshmallow). I'd love to have F-Droid working on the other user accounts in CopperheadOS as it'd make the feature much more usable (i.e. not just stuck with stock apps there).
The error message isn't particularly helpful:
04-13 23:17:02.055 5193 6959 E JavaBinder: *** Uncaught remote exception! (Exceptions are not yet supported across processes.)04-13 23:17:02.055 5193 6959 E JavaBinder: java.lang.RuntimeException: android.os.RemoteException: Invalid package name04-13 23:17:02.055 5193 6959 E JavaBinder: at android.os.Parcel.writeException(Parcel.java:1520)04-13 23:17:02.055 5193 6959 E JavaBinder: at android.os.Binder.execTransact(Binder.java:459)04-13 23:17:02.055 5193 6959 E JavaBinder: Caused by: android.os.RemoteException: Invalid package name04-13 23:17:02.055 5193 6959 E JavaBinder: at com.android.server.GraphicsStatsService.requestBufferForProcess(GraphicsStatsService.java:97)04-13 23:17:02.055 5193 6959 E JavaBinder: at android.view.IGraphicsStats$Stub.onTransact(IGraphicsStats.java:55)04-13 23:17:02.055 5193 6959 E JavaBinder: at android.os.Binder.execTransact(Binder.java:453)
Here's the intent leading to this:
04-13 23:17:01.218 5193 6960 I ActivityManager: START u10 {act=android.intent.action.INSTALL_PACKAGE dat=file:///data/user/10/org.fdroid.fdroid/cache/temp/com.mridang.throttle_2.apk cmp=com.android.packageinstaller/.PackageInstallerActivity (has extras)} from uid 1010008 on display 004-13 23:17:01.284 5193 10693 I ActivityManager: Start proc 20845:com.android.packageinstaller/u10a13 for activity com.android.packageinstaller/.PackageInstallerActivity
You can reproduce the problem by clicking the person icon in the upper right of the notification drawer / quick settings drop-down menu and then using 'add guest' to create a temporary guest account. The error occurs when F-Droid attempts to install a downloaded package. The install screen showing the permissions appears, but then it errors out when hitting install.
Worth noting that tablets also have a 'restricted profile' feature in addition to true multi-user. I'm not sure how F-Droid handles that context or how it should handle it.
Just to clarify, is this issue about installing F-Droid, or having F-Droid install other apps?
I can't even do the first. Clicking on FDroid.apk simply says "your administrator doesn't allow you to install from unknown sources". It is enabled from my main user, but I can't enable it from or for my guest account. Seems like only the main account (or the administrator account?) can have unknown sources enabled:
This would explain both situations, as both installing F-Droid and having F-Droid install other apps require "unknown sources", especially since the privileged installer is broken on 5.0+ at the moment.
To build on my point, there probably is nothing we can do to fix this at the moment. Unless there is some way to enable unknown sources on other users.
On a secondary account, I have the unknown sources setting turned on. I still get this error.
For the time being, I've been downloading/verifying apk's directly from f-droid's repositories via my laptop. I then either sideload them via abd, or download them again on my phone and upload them to sites like virus total to verify the hash/signatures.
For some reason - on secondary users - I can't use APG to verify the downloaded files (not sure if that's an intended use of APG or not) or a terminal emulator to check the md5 of the files in /storage/emulated/10/Download/. Perhaps this is related to a permission issue on any secondary user?
I have F-Droid installed as a privileged app (built into the ROM) so it doesn't require unknown sources. It runs into this problem though.
Are you sure you don't require unknown sources on your main account? Recent versions of F-Droid do not use system privileges directly, they are used via the privileged extension.
On a secondary account, I have the unknown sources setting turned on. I still get this error.
Turned on your secondary account? How? The setting doesn't show up on my nexus 6 running cm13 nightlies.
For the time being, I've been downloading/verifying apk's directly from f-droid's repositories via my laptop. I then either sideload them via abd, or download them again on my phone and upload them to sites like virus total to verify the hash/signatures.
For some reason - on secondary users - I can't use APG to verify the downloaded files (not sure if that's an intended use of APG or not) or a terminal emulator to check the md5 of the files in /storage/emulated/10/Download/. Perhaps this is related to a permission issue on any secondary user?
I just installed a terminal emulator on my primary account, and verified that I can md5 check files in my downloads folder.
F-Droid does not use the user's downloads folder, so this should not apply.
Are you sure you don't require unknown sources on your main account? Recent versions of F-Droid do not use system privileges directly, they are used via the privileged extension.
I'm sure it's not enabled. It doesn't require that when it's signed with the platform key and installed in /system/priv-app, whether or not it was explicitly designed to work that way. It's the latest stable release.
Oh. I assume, then, that the only advantage of the privileged extension would be that F-Droid would be the one in control of the install/uninstall, instead of the system's PackageInstaller.
Turned on your secondary account? How? The setting doesn't show up on my nexus 6 running cm13 nightlies.
Im running the latest stable Copperhead release on a 5x. The primary user doesn't have unknown sources turned on, but one of my secondary users does. I'm not sure if you can get the same experience with Google's ROMs though.
F-Droid does not use the user's downloads folder, so this should not apply.
I still don't have read access to /storage/emulated/10/ on the 2nd user, while i was able to read everything on the primary user for its directory, /storage/emulated/0/. Also, I was able to read and execute the apk file from the default download app. I was not able to do so from the built-in file manager though (settings > storage and USB > explore). Not sure if this pertains to F-Droid or not since F-Droid is the downloading the apk's to its internal directory (which it should own), just thought it might be something.
Im running the latest stable Copperhead release on a 5x. The primary user doesn't have unknown sources turned on, but one of my secondary users does. I'm not sure if you can get the same experience with Google's ROMs though.
I'm on cyanogenmod as previously stated. I would assume CM would have that feature. Perhaps @thestinger can clarify if this is specific to Copperhead.