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

Why Git sometimes give me error like “fatal: Unable to find remote helper for 'https'”
programmatically set the selected property of a list item in Navigation Drawer
Thread running in background returns strings to handler of whatever current activity
How to sync SQLite database between phone and watch?
How to use onKeyDown Method in Android Fragment for webView
Error:Cannot locate service of type FileOperations, as ProjectScopeServices has been closed
My Custom CusorAdapter is changing my last index layout of my Listview?
Android RecyclerView remove item animation bug
Android POST Json to API
Custom Activity Shared Transition
Android - Group SMS Conversations
Android - Crashlytics, run code during crash
Crop image as square with picasso
How to stop a broadcast Reciever
Converting 360 Panorama image to VR-View compatible image
Sqlite how to update if new value is smaller then the value in database [duplicate]

Categories

HOME
notepad++
httparty
gdb
developer-tools
jmx
rsa
socket.io
devise
zip
crystal-reports-2013
gluon-mobile
angularfire2
nfs
teechart
g++
cmdb
filechannel
intercom
linear-algebra
red5
sse
cfml
bourbon
gmm
question2answer
ember-cli
beta
game-theory
expressionengine3
motion-detection
progress-bar
panoramas
powershell-ise
contacts
activexobject
sharding
jwplayer6
alphabetical
playframework-2.1
android-augmented-reality
release
loading
cin
setup.py
http-request
double-click
nanoc
trojan
subnet
bbpress
gpg-signature
pybrain
baidu
shinobi
pocketsphinx-android
cvxpy
docpad
stax
omxplayer
iotivity
spring-cloud-feign
resourcemanager
gogs
respondcms
contentcontrol
maybe
inf
qt5.2
pypiserver
morton-number
visual-sourcesafe-2005
vacuum
rdflib
rapidsvn
jbake
rickshaw
appserver
paw
gii
ss7
renderer
amslidemenu
sbcl
breakout
isqlquery
dtmf
mongohq
neos-server
composite-component
superscrollorama
vfs
xcode3.2
correlated-subquery
paginator
database-create
httponly
ikimagebrowserview
catransform3d
google-ajax-api
exponentiation
mbeans
svk
qglwidget
vs-android
addchild
duplex
cfwindow
data-mapping
glui
feasibility
java1.4
ifilter

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