top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

What's the difference of /system/app/ and /system/priv-app in Kitkat?

+2 votes
3,512 views

What's the difference of /system/app/ and /system/priv-app in Kitkat? And which app should be put in /system/priv-app?

posted Dec 2, 2013 by Sumit Pokharna

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

1 Answer

+3 votes

Only apks in /system/priv-app can use "system"-level permissions. Prior to Kitkat, all apks on the system partition could use those permissions.

This change gives the manufacturer more control over access to sensitive permissions by bundled software.

answer Dec 2, 2013 by Deepankar Dubey
Thanks for the clarification.I just want to get more clarity on this,  when you say "system" -level permission. For ex: i have a system app in which i am enabling the gps directly by modifying settings db. Will this behavior get effected if I keep my apk in /system/app folder?
When you say "directly by modifying settings db" do you really mean you are opening the settings database via SQL yourself, independently of the OSs settings provider, or do you mean youre using the correct Settings API for making the change?  Nothing but the settings provider should ever write to its underlying data store.

Assuming you are talking about using the Settings API to write the Settings.Secure.LOCATION_MODE datum, the ability to do that is protected by the "android.permission.WRITE_SECURE_SETTINGS" permission, which is traditionally "signature or system" and in KK is "signature|system|development".  Its that specific use of "system" that I mean when I wrote "system"-level permission.

Your apk will *not* be granted the WRITE_SECURE_SETTINGS permission if it is bundled in /system/app.  As of KK, it is only eligible for "system" permissions if it is bundled in /system/priv-app.
Similar Questions
+3 votes

It appears that Locale.java in master (https://android.googlesource.com/platform/libcore/+/master/luni/src/main/java/java/util/Locale.java) now supports BCP-47, including script names. Does this mean that with the next Android version ("L"?) I will be able to create and use locales like "bs_Latn_BA" or "bs_Cyrl_BA"?

I am currently running KitKat and I don't see a system property that will persist the script part of the locale name. We have just:
/data/property/persist.sys.country
/data/property/persist.sys.language

I have tried to set the language property to include the script part (setprop persist.sys.language bs_Cyrl), and the value gets stored, but the script part is apparently ignored. If I set the language to bs_Cyrl and the country to BA, I get my dates/times/numbers etc. formatted with Latin values, not Cyrillic (bs_Latn_BA).

Am I correct in concluding that KitKat does not support locale names that include script parts, but that L will (might)? And that it will presumably have a new persistent property that will store the script?

+3 votes

I want to port the ART in android below kitkat. Is there somebody has done this and can give some instruction?

+1 vote

According to Kit Kat specs its mentioned that android now supports adaptive playback(MPEG-DASH). How do i go about testing this on Kit Kat?

+2 votes

What's the best app to see which apps are using either my mobile or WiFi data on a minute to minute basis with an export to Excel so I can analyze? Looks like the standard Android app rolls up data usage across the month, doesn't break down hourly.

+1 vote

Hi all,I want to create an android app.But i wonder what is phonegap?Also, i need to know which one is best for creating app.

...