I usually get packages from http://f-droid.org/ repository through their package browser (because then I have a guarantee that I use free (= libre) software); and they are signed with their key.

I use CyanogenMod 10; and I have root access.

I don't like allowing packages from "unknown sources" for this.

Can I set up the system so that f-droid counts as a known source, and packages from all other unknown sources are not allowed to be installed by default as before.

Perhaps, something can be patches in the CyanogenMod distro to add f-droid's key as a key for a "known source" of packages.


Almost every F-Droid app is signed with a different key, though all keys are in the same key store. In order for the switch to be bypassed, F-Droid client would have to be installed as a system app and made to work safely as such. Some code has been supplied for this to work, but it hasn't been integrated yet.

  • So, in principle, one could add a new "known" key, but in the case of apps from f-droid, there are so many keys, that this is not practical; the only practical way is to have the f-droid client itself as a system app which would perform the signature check. Have I understood the situation correctly? – imz -- Ivan Zakharyaschev May 23 '13 at 18:52
  • data/app is owned by the system user, so any system app can put an apk in there without having to go through package installer. So it's nothing to do with signatures of the apps but F-Droid would need to be signed with the system key. – daithib8 May 24 '13 at 9:08
  • I'm not sure why but it's not necessary for F-Droid apk to be signed with the system key, at least if one is using CyanogenMod. – daithib8 Jan 6 '14 at 20:27
  • So, should I try a new f-droid or new CM for this feature? – imz -- Ivan Zakharyaschev Jan 7 '14 at 21:56

According to this changelog the upcoming f-droid version 0.71 should support this.

Another mention of this is in: https://github.com/WhisperSystems/TextSecure/issues/127#issuecomment-51065857


since at least 2019 there is f-droid privilege extension


to install you don't need root but you need twrp or similar custom recovery installed on your device. https://twrp.me/

you also need adb installed on your pc and usb debugging enabled on your device.

in the following steps all adb commands are executed on the pc. the device should be connected by usb cable to the pc.

  1. download f-droid privilege extension from f-droid website to your pc. to download you need to scroll down then download the latest zip. the filename should be something like this: org.fdroid.fdroid.privileged.ota_2110.zip

  2. connect your device to pc with usb cable. verify device is listed under

    adb devices
  3. boot your device to sideload

    adb reboot sideload

    or boot your device to recovery

    adb reboot recovery

    then on your device in recovery set device to sideload

  4. install privilege extension by sideload

    adb sideload org.fdroid.fdroid.privileged.ota_2110.zip
  5. reboot device back to android.

    adb reboot

now you can disable "unknown source" and still be able to install or update apps from f-droid.

more information:

  • You have this as Magisk module too – beeshyams Dec 29 '19 at 23:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.