How do you go about developing system applications?
What is the difference between user and system applications?
How is it possible for Android devices to have default system applications without having them installed by the user?
Barry Gackle
"System application" is a general term that refers to any application that is either part of an operating system, or runs with greater control of a system than most applications. Its exact definition will vary depending on context. In Android specifically, this might refer to applications running on Linux below the Android OS.
Developing system software is a pretty large topic. This would encompass everything from doing Kernel development, driver development, etc. One place you might start if you are interested in this area is Kernel Newbies. They have a number of tutorials for aspiring kernel developers. See here. You'll generally need a strong background in a low level language. C is the most common, though C++ and Assembly show up from time to time too.
User applications would be most things that aren't system applications. These are normal programs that a user uses day to day. Again, the exact definition will vary by context.
Android comes with system applications as part of the operating system. Device manufacturers might have installed additional such applications when creating the install image. Basically, anyone with root access to the device can make such changes with ordinary Linux command line tools, or with tools included in the Android SDKs.
Comments