android


Does an app that uses system permissions need to be in the /system/app folder?


The project that I am working on in our company makes use of some system permissions. This is achieved by:
Adding the following line to the manifest: android:sharedUserId="android.uid.system".
Signing the app with our platform key.
Placing the app in the /system/app/ folder during our ROM creation process.
The device we use is not rooted by default so to update the APK we have to recreate the ROM with the new APK in place which is a very time consuming process. From what I understand, this is because, without root privileges, I can't write to /system/app.
As a proof of concept, I created an app that restarts the device when you press a button which makes use of the "android.permission.REBOOT" system level permission. I achieved this by:
Adding the following line to the manifest: android:sharedUserId="android.uid.system"
Signing the app with our platform key.
Then I simply loaded the proof of concept app using ADB which places the app in the user apps folder, /data/app, and it worked just fine. I did not need to place it in /system/app for it to work. In addition, if I created a ROM without our app in it, and tried to load our app with ADB, it worked just fine in the /data/app folder.
So my question is: Is it necessary to place the app in /system/app if you're using system permissions or is the user app folder, /data/app, sufficient? If the /data/app folder is sufficient, then what do you accomplish by putting your app in the /system/app folder? Other than preventing users from deleting the app for instance.
The answers I found were somewhat contradictory, this does not mention the /system/app folder. This says it's part of the process.

Related Links

How to add actions to menu buttons in floating action button in android
Camera plugin phonegap allowing none image files
Android: Not able to place an matrix imageview at the center of the screen?
Cropping image in a given square size in Android?
Button's padding is not working without background
Android ActionBar setCustomView NullPointer exception
Use a “animated circle” while complete asynctask process
Starting the animation when the activity starts
Google Play In-App-Billing V3 : confirm transaction
boost::filesystem::wpath on Android
make Android Textview or EditText selectable
KSoap2 is not returning valid xml?
How can i implement Custom Seekbar in android?
Textview in dialog is cut off
how to fix IllegalStateException in MediaPlayer.reset
How can I give a color name against a hex color code?

Categories

HOME
url-redirection
django
fuelux
themes
devise
carousel
aws-cli
nested-if
vsm
missing-data
title
appcelerator-studio
atlassian
alpacajs
mathprog
asciidoctor-pdf
jquery-ias
object-storage
jquery-callback
strongname
data.stackexchange.com
gpio
appirater
asymptotic-complexity
subclass
scrollview
kudu
cognos-bi
dumpbin
catch-unit-test
sammy.js
fossil
nested-lists
indy10
roblox
xajax
parse-tree
z-notation
diacritics
mongoose-schema
hackintosh
magento-1.9.3
show-hide
vaadin-charts
mschart
dtsearch
twilio-click-to-call
colorbar
flac
offline.js
baidu
bootstrap-tags-input
rxtx
reachability
change-tracking
cronexpression
webjars
signalr.client
android-dateutils
shopping
qiime
dbamp
halcon
grass
realsense
atan2
inf
java-money
rate-limiting
ons-api
sql-server-data-tools
rdflib
typeconverter
packet-sniffers
sip-server
punycode
appserver
human-computer-interface
named-parameters
tinyxml
vsx
getopt
beaker-testing
video-codecs
wp7test
web-notifications
wcf-configuration
azman
ilasm
google-maps-mobile
node-redis
mysql-error-1205
lr
codebase
presentation-layer
zend-rest
django-piston
entitykey
httpcookie

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App