Welcome to XDA-University, the new resource for anything Android, coming from some of the users and developers at XDA-Developers.
One of the most popular requests we have received is to make learning about Android and development easier for those new to it. We sat down and racked our brains as to how we could help you find the information you need, whether you are turning on your first Android phone, or trying to port it to your 15th device this year!
Android is an open source Operating System (commonly known as an “OS”), which was founded by Andy Rubin, Rich Miner, Nick Sears and Chris White in 2003. While based upon the Linux kernel, Android featured many changes to the Linux kernel.
More recently, Google acquired Android Inc. in 2005, and started to put much more effort into development of the Android operating system, in order to take its first major step into the phone market. The kernel changes made to Android by Google are gradually being merged back into the main Linux kernel code in recent and upcoming versions.
Open Source is a term used to describe software, where the original source code used to compile it is made available freely for others to use, view, modify, and build for themselves. It encourages third parties to get involved in development, and can often result in very effective code that is widely used (for example, the Linux kernel is open source, and its source code can be downloaded from http://www.kernel.org).
There are various different open source licences in use, including the Apache Licence and the GNU General Public Licence (GPL). The fundamental part of this is that the source code is freely available to anyone who wants to look at, or modify it, and that they can then redistribute this for themselves. This is one reason for Android’s rapid growth in popularity, as it permits OEMs (Original Equipment Manufacturers, who make phones, such as HTC and Samsung) to customise the software used on handsets easily.
Open source software benefits from the input of many contributors (people who make changes and submit them to the original source code maintainers), and this is one of the main reasons why code may be open sourced. Development time is expensive, and external third party contributions can give real savings – check out the CyanogenMod or AOSP Gerrit instances to get an idea of the value of third party contributions.
The idea behind Android is to give manufacturers a base upon which to release phones to the public. Aside from Google “Nexus” handsets, most Android phones purchased will have a significantly modified user experience. Android is the technology which underpins the software running on your phone, but what you see is an “overlay” on top of the core Android system, provided by the manufacturer of your phone. All Android handsets can run the same apps (barring any specific hardware requirements), thus making Android the largest single mobile phone operating system platform.
XDA-Developers was founded in 2003 as a small forum for users of original Windows Mobile PDAs, who wanted to try to improve or otherwise modify them. This led to a gradually growing community forming that worked to upgrade their devices beyond the last version given officially by the manufacturer of their device. In 2008, XDA-Developers introduced Android-based phones to the site for the first time, with the T-Mobile G1.
From that point onwards, XDA started to grow much more rapidly, as Android gained marketshare and momentum. There are now over 4.6 million registered users on XDA (and many more reading the site). XDA-U aims to be a way to help these people learn more about Android, and how to work with it and perhaps even get started developing themselves.
With a relatively open platform like Android, there will always be some people who want to do more! XDA and sites like it serve as a platform for those who want to improve their phones even further, enabling them to do so and to share their improvements. With Android being open source, the scope for updating and tweaking your phone or tablet is much greater than ever possible with any other major mobile platform.
Some people come to XDA-Developers to learn how to root their phone. Rooting your phone grants you the ability to access and change the files that control how your device operates. For example, you could remove pre-installed applications with root access. You could also possibly improve the battery life of a device by tweaking or optimising the system, or installing a new Linux kernel.
Others come to XDA-Developers to change how their device looks. Perhaps they dislike the user interface theme used by their OEM, or perhaps they simply prefer different colors to the default colours used.
Perhaps, most commonly, people come to XDA-Developers to upgrade their phone to the latest version of Android, after their manufacturer or mobile carrier has abandoned them on an older version, with no official way to reach the latest version of Android. This has led to a variety of “aftermarket” firmware distributions (often called “ROMs”), which aim to provide updates for devices no longer supported by their OEMs.
This site aims to introduce you to what XDA-Developers is about, and how you can go about learning what you need to know, whether you are a new user, or experienced user simply seeking some tricks of the trade.