Project

General

Profile

[system app] replacement suggestions

Added by My Self over 8 years ago

This is a collective thread where could brought together alternative apps, which probably could replace some (more privileged) 'system apps'.

To clarify it:
  • These are not recommendations. I just wanted to collect some suggestions and compare them with the pros and cons and >your< counter-proposals, if you want to share them.
  • I don't want to initiate a debate about replacing system apps in future Replicant images. I just want to provide and/or trigger >optional< replacement ideas.

Basics: system apps are found in the path: /system/app, so you need root permissions to get there and/or modify anything.
Caution: This also means, that you have to be very careful and better should know what you're doing.
By the way, the user apps are found in the path: /data/app and both variants are installed in /data/data
For more informations about the permission differences: https://android.stackexchange.com/questions/17871/what-are-the-differences-between-a-system-app-and-user-app/32077#32077

Here we go: HowTo: you could move/delete the system app of your choice with a file manager:
  • File Manager: Three-dot-menu -> Settings -> General settings -> Access mode -> [Promt User mode]
    after that go to /system/app and do your thing...
  • Amaze: just go to /system/app and do your thing...

Or just move/convert one or more system app(s) with a supporting app like the '/system/app mover' (https://f-droid.org/repository/browse/?fdid=de.j4velin.systemappmover) to an user app, with the option to uninstall them regular, afterwards.
Hint: Don't play around too much; deleting or moving the wrong system apps is an easy way to break your system.

fallback note
Don't be afraid; if you want to set the changes back to default (behavior), just "install" the Replicant .zip file (over CWM Recovery) again.
Over this way you don't lose any personal data or settings you made - even on encrypted devices.

disclaimer
Please don't make me responsible for any harm to your device(s). I've researched and tested very carefully,
but if you want to try this at home, please proceed at your own risk.


Replies (15)

Apollo (music app) - Added by My Self over 8 years ago

IMHO, Apollo [/system/app/Apollo.apk] don't have to be a system app (with more privileged [system] permissions). I've tested to move/convert that system app to an user app without problems, but finally I've replaced it with Vanilla Music (https://f-droid.org/repository/browse/?fdid=ch.blinkenlights.android.vanilla), because this app needs less permissions:

Apollo v1.1 Vanilla Music v1.0.31
Modify/delete USB storage contents
⚠ [WRITE_EXTERNAL_STORAGE]
Modify/delete USB storage contents
⚠ [WRITE_EXTERNAL_STORAGE]
Read phone state and identity
⚠ [READ_PHONE_STATE]
Change your audio settings
ⓘ [MODIFY_AUDIO_SETTINGS]
Prevent tablet from sleeping
ⓘ [WAKE_LOCK]
Prevent tablet from sleeping
ⓘ [WAKE_LOCK]
ⓘ [READ_EXTERNAL_STORAGE] ⓘ [READ_EXTERNAL_STORAGE]
View network state
ⓘ [ACCESS_NETWORK_STATE]
Full Internet access
⚠ [INTERNET]
Retrieve running applications
⚠ [GET_TASKS]
Send sticky broadcast
ⓘ [BROADCAST_STICKY]
Modify global system settings
ⓘ [WRITE_SETTINGS]
⚙ [com.android.launcher.permission.INSTALL_SHORTCUT]

and it's good enough for my needs.

I've tested Vanilla Music as a regular user app, but don't missed any feature. For example the lockscreen integration, (when audio is playing) worked out of the box.

Vanilla Music screenshots: https://play.google.com/store/apps/details?id=ch.blinkenlights.android.vanilla
If you know a more fancy alternative, please just let me/us know.

Browser - Added by My Self over 8 years ago

IMHO, the Browser [/system/app/Browser.apk] don't have to be a system app (with more privileged [system] permissions). I've tested deleting that system app and replacing it with an user app called Lightning (https://f-droid.org/repository/browse/?fdid=acr.browser.lightning). This browser needs less permissions, as you can see:

Browser v4.2.2 Lightning v4.0.10a
Fine (GPS) location
⚠ [ACCESS_FINE_LOCATION]
Fine (GPS) location
⚠ [ACCESS_FINE_LOCATION]
Full Internet access
⚠ [INTERNET]
Full Internet access
⚠ [INTERNET]
Modify/delete USB storage contents
⚠ [WRITE_EXTERNAL_STORAGE]
Modify/delete USB storage contents
⚠ [WRITE_EXTERNAL_STORAGE]
View network state
ⓘ [ACCESS_NETWORK_STATE]
View network state
ⓘ [ACCESS_NETWORK_STATE]
ⓘ [READ_EXTERNAL_STORAGE] ⓘ [READ_EXTERNAL_STORAGE]
⚙ [com.android.browser.permission.READ_HISTORY_BOOKMARKS] ⚙ [com.android.browser.permission.READ_HISTORY_BOOKMARKS]
⚙ [com.android.browser.permission.WRITE_HISTORY_BOOKMARKS] ⚙ [com.android.browser.permission.WRITE_HISTORY_BOOKMARKS]
Use the authentication credentials of an account
⚠ [USE_CREDENTIALS]
Control Near Field Communication
⚠ [NFC]
Manage the accounts list
⚠ [MANAGE_ACCOUNTS]
Read your profile data
⚠ [READ_PROFILE]
Read contact data
⚠ [READ_CONTACTS]
Coarse (network-based) location
⚠ [ACCESS_COARSE_LOCATION]
View Wi-Fi state
ⓘ [ACCESS_WIFI_STATE]
Discover known accounts
ⓘ [GET_ACCOUNTS]
Prevent tablet from sleeping
ⓘ [WAKE_LOCK]
Modify global system settings
ⓘ [WRITE_SETTINGS]
Read sync settings
ⓘ [READ_SYNC_SETTINGS]
Write sync settings
ⓘ [WRITE_SYNC_SETTINGS]
Set wallpaper
ⓘ [SET_WALLPAPER]
Use the download provider
⚙ [ACCESS_DOWNLOAD_MANAGER]
⚙ [com.android.launcher.permission.INSTALL_SHORTCUT]

while giving you more control over your browser settings. Lightning can handle TOR, if installed and optionally offers an option to activate an integrated ad blocker.

Lightning Browser screenshots: https://play.google.com/store/apps/details?id=acr.browser.lightning
If you know a better alternative, please just let me/us know.

Please keep in mind, that Lightning is also using the vulnerable outdated WebView engine; more: http://redmine.replicant.us/boards/39/topics/8007?r=9081#message-9081

Calculator - Added by My Self over 8 years ago

IMHO, the Calculator [/system/app/Calculator.apk] don't have to be a system app (with more privileged [system] permissions). I've tested to move/convert that system app to an user app without problems, and finally replaced it with a more current Calculator version (3.4.2 from here https://f-droid.org/repository/browse/?fdid=com.android2.calculator3), but not with the (for now) latest version (4.3) because this version needs more permissions (for fancy features like Google Glass and/or smartwatch support), which I personally don't need:

Calculator v3.3.2 Calculator v3.4.2 Calculator v4.3
Display system-level alerts
⚠ [SYSTEM_ALERT_WINDOW]
Full Internet access
⚠ [INTERNET]
Control vibrator
ⓘ [VIBRATE]

If you know a cooler alternative, please just let me/us know.

Hint (if you don't want the latest version, too): I've opened the app inside the F-Droid store and set -> three-dot-menu -> Ignore This Update [X], to avoid the update notifications from F-Droid for this app.

[UPDATE]
A bit more "stylish" (and limited themable) calculator, which is also free of permission requests, is:
https://f-droid.org/repository/browse/?fdid=home.jmstudios.calc
Screenshots: https://play.google.com/store/apps/details?id=home.jmstudios.calc

Email - Added by My Self over 8 years ago

IMHO, the Email [/system/app/Email2.apk] don't have to be a system app (with more privileged [system] permissions). I've tested deleting that app and replacing it with an user app called K-9 Mail (https://f-droid.org/repository/browse/?fdid=com.fsck.k9). This full-featured MUA (mail user agent) needs less permissions:

Email v4.1 K-9 Mail v5.006
Full Internet access
⚠ [INTERNET]
Full Internet access
⚠ [INTERNET]
Read contact data
⚠ [READ_CONTACTS]
Read contact data
⚠ [READ_CONTACTS]
Write contact data
⚠ [WRITE_CONTACTS]
Write contact data
⚠ [WRITE_CONTACTS]
Modify/delete USB storage contents
⚠ [WRITE_EXTERNAL_STORAGE]
Modify/delete USB storage contents
⚠ [WRITE_EXTERNAL_STORAGE]
Control vibrator
ⓘ [VIBRATE]
Control vibrator
ⓘ [VIBRATE]
Prevent tablet from sleeping
ⓘ [WAKE_LOCK]
Prevent tablet from sleeping
ⓘ [WAKE_LOCK]
Automatically start at boot
ⓘ [RECEIVE_BOOT_COMPLETED]
Automatically start at boot
ⓘ [RECEIVE_BOOT_COMPLETED]
View network state
ⓘ [ACCESS_NETWORK_STATE]
View network state
ⓘ [ACCESS_NETWORK_STATE]
ⓘ [READ_EXTERNAL_STORAGE] ⓘ [READ_EXTERNAL_STORAGE]
Read sync settings
ⓘ [READ_SYNC_SETTINGS]
Read sync settings
ⓘ [READ_SYNC_SETTINGS]
⚙ [com.android.email.permission.READ_ATTACHMENT] ⚙ [com.fsck.k9.permission.READ_ATTACHMENT]
Manage the accounts list
⚠ [MANAGE_ACCOUNTS]
⚙ [com.fsck.k9.permission.DELETE_MESSAGES]
Read your profile data
⚠ [READ_PROFILE]
⚙ [com.fsck.k9.permission.READ_MESSAGES]
Control Near Field Communication
⚠ [NFC]
⚙ [com.fsck.k9.permission.REMOTE_CONTROL]
Act as an account authenticator
⚠ [AUTHENTICATE_ACCOUNTS]
⚙ [org.thialfihar.android.apg.permission.READ_KEY_DETAILS]
Use the authentication credentials of an account
⚠ [USE_CREDENTIALS]
Read phone state and identity
⚠ [READ_PHONE_STATE]
Discover known accounts
ⓘ [GET_ACCOUNTS]
⚙ [com.android.email.permission.ACCESS_PROVIDER]
⚙ [com.google.android.gallery3d.permission.GALLERY_PROVIDER]
and leave nothing to be desired, in my eyes. Additional K9 Mail can handle email encryption with one of the following apps installed:

K-9 Mail screenshots: https://play.google.com/store/apps/details?id=com.fsck.k9
If you know a nicer alternative, please just let me/us know.

File Manager - Added by My Self over 8 years ago

IMHO, the File Manager [/system/app/CMFileManager.apk] don't have to be a system app (with more privileged [system] permissions). I've tested deleting that app and replacing it with an user app called Amaze (https://f-droid.org/repository/browse/?fdid=com.amaze.filemanager). The permissions of this file manager are slightly different:

CM File Manager v1.0.1 Amaze v3.0.1
Control Near Field Communication
⚠ [NFC]
Full Internet access
⚠ [INTERNET]
Modify/delete USB storage contents
⚠ [WRITE_EXTERNAL_STORAGE]
Modify/delete USB storage contents
⚠ [WRITE_EXTERNAL_STORAGE]
Set preferred applications
✽ [SET_PREFERRED_APPLICATIONS]
Use the authentication credentials of an account
⚠ [USE_CREDENTIALS]
ⓘ [READ_EXTERNAL_STORAGE] ⓘ [READ_EXTERNAL_STORAGE]
Mount and unmount filesystems
⚙ [MOUNT_UNMOUNT_FILESYSTEMS]
Discover known accounts
ⓘ [GET_ACCOUNTS]
⚙ [ACCESS_SUPERUSER] ⚙ [ACCESS_SUPERUSER]
⚙ [com.android.launcher.permission.INSTALL_SHORTCUT] ⚙ [com.android.launcher.permission.INSTALL_SHORTCUT]
⚙ [com.cyanogenmod.filemanager.permissions.READ_THEME]

but in my eyes you could give it a try. Amaze is themable and has pretty the same features (checksums, view file permissions, integrated text editor, ...) as the CM File Manager has, but could save you some time, because it has some extra features for ease of use.

Amaze screenshots: https://play.google.com/store/apps/details?id=com.amaze.filemanager
If you know a smarter alternative, please just let me/us know.

LatinIME (keyboard app) - Added by My Self over 8 years ago

IMHO, the LatinIME [/system/app/LatinIME.apk] have to be a system app, (reason: http://redmine.replicant.us/projects/replicant/wiki/UsageNotes). I've tested replacing that system app with a slightly more current version of the same AOSP LatinIME (https://web.archive.org/web/20141008154246/https://f-droid.org/repository/browse/?fdid=com.android.inputmethod.latin). This keyboard (v4.4.2) needs more permissions, so I decided to give another alternative (Hacker's Keyboard [https://f-droid.org/repository/browse/?fdid=org.pocketworkstation.pckeyboard]) with less permissions, too:

LatinIME v4.2.2 LatinIME v4.4.2 Hacker's Keyboard v1.38.2
Read user defined dictionary
⚠ [READ_USER_DICTIONARY]
Read user defined dictionary
⚠ [READ_USER_DICTIONARY]
Read user defined dictionary
⚠ [READ_USER_DICTIONARY]
Read contact data
⚠ [READ_CONTACTS]
Read contact data
⚠ [READ_CONTACTS]
View network state
ⓘ [ACCESS_NETWORK_STATE]
View network state
ⓘ [ACCESS_NETWORK_STATE]
Control vibrator
ⓘ [VIBRATE]
Control vibrator
ⓘ [VIBRATE]
Control vibrator
ⓘ [VIBRATE]
Read your profile data
⚠ [READ_PROFILE]
Modify/delete USB storage contents
⚠ [WRITE_EXTERNAL_STORAGE]
Write to user defined dictionary
ⓘ [WRITE_USER_DICTIONARY]
Write to user defined dictionary
ⓘ [WRITE_USER_DICTIONARY]
Discover known accounts
ⓘ [GET_ACCOUNTS]
Automatically start at boot
ⓘ [RECEIVE_BOOT_COMPLETED]
ⓘ [READ_EXTERNAL_STORAGE]
⚙ [DOWNLOAD_WITHOUT_NOTIFICATION]
The LatinIME 4.4.2 can't be updated directly over F-Droid or the .apk file. That's why this app is disabled by F-Droid, but is still available for download from the F-Droid repo here: I've downloaded the ARMv7 version for my i9100 device, (AFAIK every Replicant supported device should be an ARMv7 one, yet - but please check that for your device on your own, before).
Simply replacing the /system/app/LatinIME.apk doesn't seems to work. So I extracted the file libjni_latinime.so directly out of the LatinIME.apk (with an ordinary archive manager like 7-Zip for example). And finally I made a flashable .zip which replaces this two files with the new ones:
  1. /system/app/LatinIME.apk
  2. /system/lib/libjni_latinime.so
I attached an empty .zip template 'AOSP_4.4.2_keyboard_replacement.zip' to this thread, if you want to use it. Just download the com.android.inputmethod.latin_442X.apk from the links above and:
  • rename com.android.inputmethod.latin_442X.apk -> LatinIME.apk
    • put the LatinIME.apk inside the flashable .zip under: /system/app/
  • extract the file /lib/armeabi-v7a/libjni_latinime.so out of the LatinIME.apk (with any archive manager)
    • put the libjni_latinime.so inside the flashable .zip under: /system/lib/

Note: please don't extract the flashable .zip and repack it; open it with an archive manager of your choice, modify it and save it instead.
Hint: you could use the same template to reverse your changes if you put in (the flashable replacement template file) the original Replicant files extracted from the flashable image file (http://redmine.replicant.us/projects/replicant/wiki/ReplicantImages) for your device.

Hope I could explain it reproducible for you, otherwise please just let me know.

Let's come to the Hacker's Keyboard, which is a privacy respecting alternative in my eyes.
You could simply additionally install that keyboard as a non-system app and activate it over the Settings -> Language & input -> Hacker's Keyboard
Please don't forget to set it as primary input method after enabling it, over Default (Set up input methods).

If you like to use this keyboard as a LatinIME replacement, (or just like the LatinIME layout), then are these the keyboard settings for you:
  • Keyboard height, portrait: 38%
  • Keyboard height, landscape: 45%
  • Keyboard mode, portrait: 4-row Gingerbread layout
  • Keyboard mode, landscape: 4-row Gingerbread layout
  • Suggestions in landscape mode [X]

I'll try to add some more details how to get that suggestions to work properly, (but I have to wait for reaction of some people)...

MMS (messaging app) - Added by My Self over 8 years ago

IMHO, the MMS [/system/app/Mms.apk] don't have to be a system app (with more privileged [system] permissions). I've tested deleting that system app and replacing it with an user app called SMSSecure (https://f-droid.org/repository/browse/?fdid=org.smssecure.smssecure). This SMS/MMS application needs slightly less permissions:

MMS v4.2.2 SMSSecure v0.11.0
Read SMS or MMS
⚠ [READ_SMS]
Read SMS or MMS
⚠ [READ_SMS]
Receive MMS
⚠ [RECEIVE_MMS]
Receive MMS
⚠ [RECEIVE_MMS]
Receive SMS
⚠ [RECEIVE_SMS]
Receive SMS
⚠ [RECEIVE_SMS]
Send SMS messages
⚠ [SEND_SMS]
Send SMS messages
⚠ [SEND_SMS]
Edit SMS or MMS
⚠ [WRITE_SMS]
Edit SMS or MMS
⚠ [WRITE_SMS]
Full Internet access
⚠ [INTERNET]
Full Internet access
⚠ [INTERNET]
Read your profile data
⚠ [READ_PROFILE]
Read your profile data
⚠ [READ_PROFILE]
Directly call phone numbers
⚠ [CALL_PHONE]
Write to your profile data
⚠ [WRITE_PROFILE]
Read phone state and identity
⚠ [READ_PHONE_STATE]
Read phone state and identity
⚠ [READ_PHONE_STATE]
Read contact data
⚠ [READ_CONTACTS]
Read contact data
⚠ [READ_CONTACTS]
Write contact data
⚠ [WRITE_CONTACTS]
Write contact data
⚠ [WRITE_CONTACTS]
Modify/delete USB storage contents
⚠ [WRITE_EXTERNAL_STORAGE]
Modify/delete USB storage contents
⚠ [WRITE_EXTERNAL_STORAGE]
Control vibrator
ⓘ [VIBRATE]
Control vibrator
ⓘ [VIBRATE]
Prevent tablet from sleeping
ⓘ [WAKE_LOCK]
Prevent tablet from sleeping
ⓘ [WAKE_LOCK]
View network state
ⓘ [ACCESS_NETWORK_STATE]
View network state
ⓘ [ACCESS_NETWORK_STATE]
Change network connectivity
ⓘ [CHANGE_NETWORK_STATE]
Change network connectivity
ⓘ [CHANGE_NETWORK_STATE]
ⓘ [READ_EXTERNAL_STORAGE] ⓘ [READ_EXTERNAL_STORAGE]
Automatically start at boot
ⓘ [RECEIVE_BOOT_COMPLETED]
⚙ [org.smssecure.smssecure.ACCESS_SECRETS]
Disable keylock
⚠ [DISABLE_KEYGUARD]
Push MMS
⚠ [MMS_PUSH]
Install DRM
ⓘ [INSTALL_DRM]
Modify global system settings
ⓘ [WRITE_SETTINGS]
Change/intercept network settings and traffic
⚙ [WRITE_APN_SETTINGS]

and could send regular SMS as encrypted ones, while "no servers or internet connection required".
You also could block screenshots inside the app and store your messages encrypted locally.

SMSSecure screenshots: https://play.google.com/store/apps/details?id=org.smssecure.smssecure
If you know a more secure alternative, please just let me/us know.

If you thought of another kind of messaging protocol, like XMPP I had suggested my personal favorite here, already: http://redmine.replicant.us/boards/9/topics/7629?r=7899#message-7899 already
Conversations screenshots: https://play.google.com/store/apps/details?id=eu.siacs.conversations

Sound Recorder - Added by My Self over 8 years ago

IMHO, the Sound Recorder [/system/app/SoundRecorder.apk] don't have to be a system app (with more privileged [system] permissions). I've tested deleting that app and replacing it with an user app also called Sound Recorder (https://f-droid.org/repository/browse/?fdid=com.danielkim.soundrecorder). This app needs less permissions:

Sound Recorder v4.2.2 Sound Recorder v1.2.2
Record audio
⚠ [RECORD_AUDIO]
Record audio
⚠ [RECORD_AUDIO]
Modify/delete USB storage contents
⚠ [WRITE_EXTERNAL_STORAGE]
Modify/delete USB storage contents
⚠ [WRITE_EXTERNAL_STORAGE]
Full Internet access
⚠ [INTERNET]
Prevent tablet from sleeping
⚠ [WAKE_LOCK]
ⓘ [READ_EXTERNAL_STORAGE]

and uses the MP4 format (AAC encoder) for recording.

Sound Recorder screenshots: https://play.google.com/store/apps/details?id=com.danielkim.soundrecorder
If you know a more pretty alternative, please just let me/us know.

removable /system/apps - Added by My Self over 8 years ago

I investigated to remove some system apps and documented the results inside the attached file 'ReplicantSysAppsOverview_v0.1.pdf'.

Hope this helps somebody else.

RE: [system app] replacement suggestions - Added by christina d over 8 years ago

what about "com.android.smspush"? there is no entry for it in the pdf and the Tor blog suggests it to remove it (https://blog.torproject.org/blog/mission-impossible-hardening-android-security-and-privacy)

RE: [system app] replacement suggestions - Added by My Self over 8 years ago

what about "com.android.smspush"? there is no entry for it in the pdf and the Tor blog suggests it to remove it (https://blog.torproject.org/blog/mission-impossible-hardening-android-security-and-privacy)

AFAIK the com.android.smspush == WAPPushManager, which is listed in the pdf.
Source: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.1.2_r1/com/android/smspush/WapPushManager.java

As far as I researched, you could delete it, if you don't want to use tethering...

template to remove /system/apps - Added by My Self over 8 years ago

If you need a template (flashable .zip), how you delete /system/apps, here is one: 'cleanup_sysapps.zip' (attached).

Caution: If you flash this .zip unmodified, it will delete your Calculator.apk!

Please just modify the file inside the zip: /META-INF/com/google/android/updater-script and change target .apk file(s) you want to remove from your system.
If you need the file names, just check them out in the ReplicantSysAppsOverview[...].pdf from this post: http://redmine.replicant.us/boards/9/topics/10875?r=10929#message-10929

Have fun.

Trebuchet (launcher app) - Added by My Self over 8 years ago

IMHO, the Trebuchet launcher [/system/app/Trebuchet.apk] don't have to be a system app (with more privileged [system] permissions). I've tested deleting that app and replacing it with KISS launcher installed as user app. This app needs different and more permissions:

Trebuchet v1.0 KISS launcher v2.13.1
Directly call phone numbers ⚠ [CALL_PHONE] Directly call phone numbers ⚠ [CALL_PHONE]
Set wallpaper ⓘ [SET_WALLPAPER] Create Bluetooth connections ⚠ [BLUETOOTH]
Set wallpaper size hints ⓘ [SET_WALLPAPER_HINTS] Bluetooth administration ⚠ [BLUETOOTH_ADMIN]
Control vibrator ⓘ [VIBRATE] Take pictures and videos ⚠ [CAMERA]
Choose widgets ⚙ [BIND_APPWIDGET] Receive SMS ⚠ [RECEIVE_SMS]
Discover known accounts ⓘ [GET_ACCOUNTS] Change Wi-Fi state ⚠ [CHANGE_WIFI_STATE]
⚙ [com.android.launcher.permission.READ_SETTINGS] Read phone state and identity ⚠ [READ_PHONE_STATE]
⚙ [com.android.launcher.permission.WRITE_SETTINGS] Read contact data ⚠ [READ_CONTACTS]
Control flashlight ⓘ [FLASHLIGHT]
View network state ⓘ [ACCESS_NETWORK_STATE]
View Wi-Fi state ⓘ [ACCESS_WIFI_STATE]
Change network connectivity ⓘ [CHANGE_NETWORK_STATE]
Read sync settings ⓘ [READ_SYNC_SETTINGS]
Write sync settings ⓘ [WRITE_SYNC_SETTINGS]
Modify global system settings ⓘ [WRITE_SETTINGS]

but >for me< it's a really great minimalistic launcher alternative with some benefits.

Just look at the basic features: http://kisslauncher.com/, some screenshots: https://play.google.com/store/apps/details?id=fr.neamar.kiss or just give the app a try.

If you know a faster launcher alternative, please just let me/us know.

RE: [system app] replacement suggestions - Added by Paul Kocialkowski over 8 years ago

Just to clarify the position I've been following on this: I want Replicant to ship with standard system apps that can do the basics. Those are either the AOSP ones or better replacements written by CyanogenMod. They are well integrated with the system and match the current API used in the system. In particular, it means that the whole user experience is somewhat consistent.

I also want most or all of the basic apps to be rebuilt from sources. There are a few exceptions to this, but I don't think this is a very good idea to add more. Apps that are built from source are easier for developers to modify and they are signed with our own keys, which reduces dependency over a third party.

On the other hand, it's true that some of those applications don't need to be system apps. Is there a way to rebuild them from source and include them as non-privileged apps?

Regarding permissions, if it is proven that one application is abusing a permission it's requesting, or that it is requesting more than it actually makes use of, patches are welcome (and they should be suggested upsteam, as well).

Finally, thanks for doing all this research!

RE: [system app] replacement suggestions - Added by Lyberta ftz over 6 years ago

I personally think only functionality of USB upload and APK installing is needed to be unremovable, everything else is up to the user.

    (1-15/15)