- 恢复（Clockworkmod，Amon Ra）
- 驱动程序 在空中（OTA）更新
What is the difference between:
(any other often-confused terms that I've missed?)
Rooting and Jailbreaking are essentially the same things, Jailbreaking is the iPhone users' word for what Android users call Rooting. Rooting is when you gain "Root" access to the phone giving you the power to do anything you want to it (it comes from the Unix Root User, essentially the Unix equivalent to the Windows Administrator account). Normally you're prevented from being Root for your own good, as it's very easy to break your phone once you have root access, and quite hard to break it without.
More info: What does xe2x80x9cto root a phonexe2x80x9d mean? and I've rooted my phone. Now what? What do I gain from rooting?
A Nandroid backup is a backup of your phone that is an exact image of the state of your phone. So you could make an exact copy of your current phone, then do major changes to it, and then restore to your previous backup by flashing the backup back to the phone. Flashing means to copy or to install.... you are essentially wiping the device and restoring a previous state (a backup) or you are flashing a new ROM (see below). NAND is your device's flash storage, which is why copying files there is called "flashing".
The Android operating system is the software that manages the hardware in an Android phone such as the screen, data communications, storage, camera and GPS. It provides a common layer that allows applications the use of and access to these resources on a range of different devices without the app having to know anything special about the actual hardware that it is running on. The Android Operating System also includes a number of standard apps and services such as the Contacts, Camera, Photo Gallery and web browser apps and allows the user to do such things as control the screen brightness or connect to wifi networks.
Although the real definitions are different, in the Android world, ROM, Mod, and Firmware are all used as if they mean essentially the same thing. They all refer to a customised version of the Android operating system that has been modified to work on a particular brand of phone with a specific set of customisations or changes. This can be done so that an old phone like the G1 can be given a brand new version of Android, such as 2.2 even if the manufacturer has decided not to provide it. Or could be to provide extra functionality not available in the manufacturer's supplied version of Android, or to fix problems in the manufacturer supplied version. More info: What's the difference between an AOSP ROM and a stock ROM?, What are the advantages of a custom ROM?, Why are there so many different Android kernels and Where can I find stock or custom ROMs for my Android device?
A Driver is what tells the Android software operating system how to talk to all the different hardware that is in an Android phone. When someone is putting together a ROM for a particular phone model they will need to include of all that phone's drivers inside the ROM (for things like the cellular modem, WiFi access, the particular camera type, the specific processor, etc) otherwise the ROM either won't work on that phone, or will only be able to work certain parts of the phone and, for instance, may not be able to use the front-facing camera, or may not be able to connect to a WiFi network. This is exactly the same as when you plug something new into Windows and it runs the New Hardware Added wizard and goes looking for a new driver before you can use it. Drivers are loaded by the kernel, the core of the operating system.
An Over The Air (OTA) update is when your phone receives an update to its Android operating system "over the air", ie it is sent the files automatically over the cellular network from either Google or from your phone network without ever needing to be plugged into a PC. This contrasts with the way that, for example, the iPhone was originally updated where it needed to be physically plugged into a computer running iTunes to get its updates.
The bootloader controls how the device boots. Google's PC-side tool for getting into the bootloader and other related tasks is called Fastboot, and running the bootloader interactively may be called "Fastboot mode". A locked bootloader will verify the Android system partition and restore it to stock if it doesn't match, whereas an unlocked bootloader doesn't do the same checking, which is why unlocking the bootloader is required to permanently root a device.
The term recovery is often used to mean several different things. It could mean a mode of operation for the phone. For example, to boot into recovery mode on Atrix 4G MB860 olympus, one must:
to enter Android Recovery mode.
This is a mode of operation that allows the user to make major changes to the phone. Or recovery could also mean the recovery partition on the phone. Or recovery could also mean the image file (filename.img) that can be flashed to the recovery partition. For example, the Atrix 4G MB860 olympus ships with a stock recovery image flashed to the recovery partition, and booting into recovery mode on such a stock phone allows the user to make some major changes to the phone:
It is possible (though this usually requires an unlocked bootloader) to replace the code that executes in Android Recovery mode by replacing the stock recovery image that the manufacturer installed on the recovery partition with a custom recovery image like ClockworkMod. Installing and executing the code in a custom recovery image often allows the user to make many more comprehensive changes to the phone and also often allows the user to make Nandroid backups and restore these backups to the phone.
The bootloader may also play some part in flashing firmware, though this is usually part of recovery. While you normally don't want to mess with the bootloader, advanced users will often flash a custom recovery like ClockworkMod (though a locked bootloader may prevent this). This allows one to flash firmware that hasn't been signed by the manufacturer (such as custom ROMs), since stock recovery usually checks for the signature, and do advanced tasks like complete Nandroid backups. Recovery is a bit like the BIOS boot screen on PCs in that you get to it by pressing a special combination of buttons as the phone starts up. Recovery can also do things like run an update file from the phone's SD card, or let you connect from a PC via ADB (Android Debug Bridge) to manage the device from the command line.
More info: What is the relation between ROM Manager, ClockworkMod and Nandroid? Which one(s) do I need?
Many mobile phone networks that sell GSM phones on a contract restrict the phone so that it can only be used on their phone network, this is known as a SIM lock, network lock or subsidy lock. This allows a provider to ensure that a phone that they've subsidised can only be used on a network that will help them them recoup that money. The phone reads the IMSI code of the inserted SIM card and checks that it corresponds with the allowed country or network codes that the phone has been programmed with. SIM unlocking removes this restriction from a phone so that any network's SIM card can be inserted and used. This generally involves typing a code into the phone's dialler that removes the lock. There are different ways to get this code depending on your device and network, some networks will give you the unlock code once you reach the end of your contract's term, some manufacturers publish these codes on their websites, some manufacturers embed these codes into their devices in a way that can be extracted by an app and some require use of special PC software to reprogram the phone. The SIM lock is usually implemented in hardware/read-only firmware, so it's generally not possible to unlock your device without a code.
More info: Can I use my device on a different carrier?
Related: Another question that explains some parts of the Android platform in terms familiar to users of traditional computer systems is:
In normal computer terms, what are the different parts of an Android system?
Unlocking the bootloader
Mod (e.g. CyanogenMod)
Recovery (ClockworkMod, Amon Ra)
Custom Kernel (e.g. LeshaK's kernel)
Over The Air (OTA) update
SPL (Second Program Loader)
Rooting and Jailbreaking refers to the same thing. The term Jailbreaking comes from Apple's iPhone community, the preferred term in Android is rooting.
Rooting/Jailbreaking refers to enabling the administrator/superuser/root/user-id-0 user on the phone. In unrooted device, the superuser account is disabled for security purpose. The superuser possess full privilege over the system, including deleting or modifying critical system files.
More about rooting: What does "to root a phone" mean?
Firmware refers to the whole Android Software Stack: Kernel (incl. drivers), Dalvik VM, and the Operating System. However, it does not include applications installed from Market.
Firmware can be official (released by the manufacturer and/or service provider) or it can be unofficial (released by modding community).
CyanogenMod has a good definition of ROM (and a lot of the other terms on that list)
Read Only Memory. In the context of an Android device, ROM is the internal flash memory where the core operating system resides. It can also refer to a specific version firmware that can be applied to a device through a process usually referred to as flashing. An improperly flashed ROM can often brick the device, rendering it unusable.
This question is already well answered, but one thing I find most non-tech people getting confused about is the difference between rooting/jailbreaking and SIM Unlocking.
This is the simple explanation I use for non-tech people.
A smartphone is essentially 2 things
Unlocking is relevant to the phone part of the smartphone.
In some countries (USA typically), the phone part of the smartphone is locked by the carrier so that it cannot be used with other carriers.
Rooting/Jailbreaking is relevant to the computer part of the smartphone.
The OS of the phone (Android/IOS/Windows) is locked by the OS writer (Google/Apple/Microsoft) so that you can only access the functionality with the OS and Manufacturer provided interface. You do not have administrator permission on your device (unlike a Windows PC where you can login as an administrator).
This is done for many reasons
1. You have to buy through their appstore etc
2. A lot of users aren't technical enough, hence this is done to protect them from doing something stupid.
Bypassing these measures to get administrator access to your own device is called rooting or jailbreaking.
Android Kernel refers to the Linux Kernel and the set of drivers that comes with the Linux kernel. The kernel does not include Applications that comes with Android nor the Java/Dalvik Virtual Machine.
Costum Kernel refers to community-made modifications to the Linux Kernel. The Kernel provides low-level services, resource management, and security.
The Driver is a part of the kernel which talks directly with the hardware, it provides a standard interface which hides the intricacies of a particular hardware.
Modifications in the Kernel and Driver typically includes hardware-specific bug fix, optimizing resource management, and unlocking hardware features that was disabled in the driver-level.
Over The Air update refers to an official update from your device manufacturer and carrier, the update being pushed automatically to your device.
OTA update is basically an official firmware update, as it covers the whole Android stack (drivers, firmware, kernel, VM, applications).
my understanding is that different mod/rom is similar to likes of ubuntu and fedora (different variant of linux) in PC world. Kernel is lower level than this, like both ubuntu 10.10 and fedora 14 are using the same linux kernel 2.6.35