Facts About ODEX and DEODEX
WHAT IS AN ODEX FILE?
In Android file
system, applications come in packages with the extension .apk. These
application packages, or APKs contain certain .odex files whose supposed
function is to save space. These ‘odex’ files are actually collections of parts
of an application that are optimized before booting. Doing so speeds up the
boot process, as it preloads part of an application. On the other hand, it also
makes hacking those applications difficult because a part of the coding has
already been extracted to another location before execution.
THEN COMES DEODEX
Deodexing is basically
repackaging of these APKs in a certain way, such that they are reassembled into
classes.dex files. By doing that, all pieces of an application package are put
together back in one place, thus eliminating the worry of a modified APK
conflicting with some separate odexed parts.
In summary, Deodexed ROMs (or APKs) have all their application packages put back together in one place, allowing for easy modification such as theming. Since no pieces of code are coming from any external location, custom ROMs or APKs are always deodexed to ensure integrity.
Source: AddictiveTips
All About Android
Prepared by Jason Diokno
"What is
Rooting?"
Android rooting is the process of allowing users of
smartphones, tablets, and other devices running the Android Operating
System to attain Privileged Control known as "Root
Access" within Android's sub-system.
Rooting is often performed with the goal of
overcoming limitations that carriers and hardware manufacturers put on some
devices, resulting in the ability to alter or replace system applications and
settings, run specialized apps that require administrator(root)-level
permissions, or perform other operations that are otherwise inaccessible to a
normal Android user. On Android, rooting can also facilitate the complete
removal and replacement of the device's operating system, usually with a more
recent release of its current operating system.
"How can I
Root my phone?"
The process of rooting
varies widely by device, but usually includes exploiting one or more security
bugs in the firmware of (i.e., in the version of the Android OS installed on)
the device. Once an exploit is discovered, a custom recovery image can be
flashed which will skip the digital signature check of firmware updates. Then a
modified firmware update can be installed which typically includes the
utilities needed to run apps as root. For example, the su binary can
be copied to a location in the current process' PATH (e.g., /system/xbin/) and
granted executable permissions with the chmod command. A supervisor application,
like SuperUser or SuperSU, can then regulate and
log elevated permission requests from other applications. Many guides,
tutorials, and automatic processes exist for popular Android devices
facilitating a fast and easy rooting process.
...
"Advantages of
a Rooted Phone"
- Remove
bloatwares
- Run custom roms
& install custom recoveries
- The ability to wifi
thether
- The capability to
make and restore backups
- Infinite
customizations
- Run root priviledged
apps
- Improve performance
& increase battery life
- Crack paid apps,
block ads, block permissions, etc.,
- Full control over
your android phone
..the possibilities
are endless..
...
"Disadvantages
of a Rooted Phone"
- It will Void your
warranty
- As for a phone
running on a custom rom, you can no longer accept OTA updates for your device's
stock firmware
- Risk of installing
malicious applications that might leak your personal data & info, leaving
you & your phone vulnerable to potential damages
- Mishandling of a
rooted device might render your phone totally useless; bricked; damaged beyond
repair..
- Don't be redundant.
Glossary
--[[A]]--
App2SD: A method of storing applications and cache
on the device's microSD card.
ADB: Android Debug Bridge (adb) is a versatile
command line tool that lets you communicate with an emulator instance or
connect
Android: A Linux-based operating system for mobile
created by Google & is named after a robot resembling a human being, as
Andy Rubin, one of the original founders of Android inc., loves robots.
Versions are alphabetically codenamed after snacks: Donut, Eclair, Froyo,
Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, Kitkat, Lollipop, and
so on..
AMOLED: Active Matrix Organic Light Emitting Diode. Basically,
a very colorful, bright, display found in some smartphones.
APK: Android application package file. Each
Android application is compiled and packaged in a single file that includes all
of the application's code (.dex files), resources, assets, and manifest file.
The application package file can have any name but must use the .apk
extension.
--[[B]]--
Bloat(ware): Applications/widgets -- usually
unwanted -- that are preloaded onto a device.
Boot Animation: Boot animation is a term for a graphical
representation of the boot process of the operating system.
Bootloader: This small program's only job is to load
other data and programs which are then executed from RAM.Often, multiple-stage
boot loaders are used, during which several programs of increasing complexity
load one after the other in a process of chain loading.
Bootloop: When your system recycles over and over
without entering the main OS.
--[[C]]--
CDMA: Short for Code-Division Multiple Access, a
digital cellular technology that uses spread-spectrum techniques.
CPU: It stands for Central Processing Unit and
handles all the complex mathematical formulas necessary to do everyday things
like surfing the Internet.
Custom: Independent developers who like to customize
their devices beyond the standard options provided often tend to release the
fruits of their labor for the rest to enjoy, in form of custom ROMs.
Cache: A component that transparently stores data
so that future requests for that data can be served faster. The data that is
stored within a cache might be values that have been computed earlier or
duplicates of original values that are stored elsewhere.
CDMA: Mobile phone standards called cdmaOne,
CDMA2000 (the 3G evolution of cdmaOne) and WCDMA (the 3G standard used by GSM
carriers), which are often referred to as simply CDMA, and use CDMA as an
underlying channel access method.
CIQ: Carrier IQ. A piece of preinstalled software
that runs with elevated access in the background of portable devices by default
and records everything. Potentially can be exploited to steal
information.
--[[D]]--
Dalvik: The Android platform's virtual machine. The
Dalvik VM is an interpreter-only virtual machine that executes files in the
Dalvik Executable (.dex) format, a format that is optimized for efficient
storage and memory-mappable execution.
Dalvik Cache: Writable cache that contains the optimized
bytecode of all apk files (apps) on your Android device. Having the information
in it's own cache makes applications load faster and perform better.
Deodex:
Deodexing is basically
repackaging of these APKs in a certain way, such that they are reassembled into
classes.dex files. By doing that, all pieces of an application package are put
together back in one place, thus eliminating the worry of a modified APK
conflicting with some separate odexed parts.
In summary, Deodexed
ROMs (or APKs) have all their application packages put back together in one
place, allowing for easy modification such as theming. Since no pieces of code
are coming from any external location, custom ROMs or APKs are always deodexed
to ensure integrity. Difference
between Odex and Deodex?
DLNA: Dynamic Living Network Alliance. A method
for wirelessly streaming photos and videos from your smartphone to your
TV.
Dual Core: A dual core processor is a central
processing unit (CPU) that has two separate cores on the same die, each with
its own cache. It essentially is two microprocessors in one. This type of CPU
is widely available from many manufacturers. Other types of multi-core
processors also have been developed, including quad-core processors with four
cores each, hexa-core processors with six, octa-core processors with eight and
many-core processors with an even larger number of cores.
--[[E]]--
...
--[[F]]--
FC/FC's: Short for "force close," meaning
an app that has crashed.
Fastboot: A diagnostic protocol used primarily to
modify the flash filesystem in Android smartphones from another computer over a
USB connection. It is part of the Android Debug Bridge library.
Some of most commonly
used fastboot commands include:
•flash - Overwrites a
partition in flash with a binary image stored on the host computer.
•erase - Erases a
partition in flash.
•reboot - Reboots the
device into the either the main operating system or the system recovery
partition.
•devices - Displays a
list of all devices (with Serial #) connected to the host computer.
Flashing: The ROM memory used in smartphones and
tablets etc. is often same as flash memory found in SD cards and USB flash
drives, simply optimized for better speed and performance while running the
operating system.
--[[G]]--
: Stands for Global
Positioning System. Uses a constellation of satellites in space to find your
location on the ground.
GSM: (Global System for Mobile Communications,
originally Groupe Spécial Mobile), is a standard set developed by the European
Telecommunications Standards Institute (ETSI) to describe protocols for second
generation (2G) digital cellular networks used by mobile phones.
--[[H]]--
Hard Reset: Sometimes also referred to as a
"factory reset", a hard reset is an extremely serious process,
because performing a hard reset will always wipe all the data from your device
and return it to the settings it originally had when purchased.
Hotspot: A spot that offers Internet access over a
wireless local area network through the use of a router connected to a link to
an Internet service provider. Hotspots typically use Wi-Fi technology.You can
connect wifi campatible devices to it.
HDMI: High-Definition Multimedia Interface) is a
compact audio/video interface for transmitting encrypted uncompressed digital
data.
Hboot: It’s mainly responsible for checking and
initializing the hardware and starting the phone’s software. It can also be
used for flashing official software releases, as well as a few other things.
HBoot can be compared to the BIOS on a computer.
HAVS: A control system that dynamically adjusts
the voltage based on CPU load. This has proven to be a battery saver, but it
can actually have the opposite effect when multiple control systems are
operating (like setCPU).
--[[I]]--
IMEI: Stands for International Mobile Equipment
Identity(ID). Basically a unique identification number assigned to every
phone.
--[[J]]--
Java: A programming language originally developed
by Sun, and used to develop Android applications.
It is important to
note that while the Java language is used for Android applications, the Java
bytecode and Java virtual machine are not.
JIT: The Just-in-Time Compiler. Released with
Android 2.2, it's a method of greatly speeding up apps in Android on the
software side.
--[[K]]--
Kang: Someone writes a code,someone else modifies
the code to make their own release,its concidered a kang release.
Kernel: A kernel is a layer of code that allows the
OS and applications to interface with your phone's hardware. The degree in
which you can access your phone's hardware features depends on the quality of
code in the kernel. The homebrew (rooting) community for HTC has made several
kernel code improvements that give us additional features from our hardware
that the stock kernel does not. When you flash a custom ROM, you automatically
get a kernel. But you can also flash a standalone kernel ROM on top of the
existing one, effectively overwriting it. These days, the difference in custom
kernels is less about new features and more about alternate configurations.
Choosing a custom kernel is basically choosing one that works best with your
ROM.
--[[L]]--
Launcher: Collectively, the part of the Android user
interface on home screens that lets you launch apps, make phone calls, etc. Is
built in to Android, or can be purchased in the Android Market.
LCD Density: Pixel density is a measurement of the
resolution of devices in various contexts; typically computer displays, image
scanners, and digital camera image sensors.
Logcat: A command to view messages in one of the
system logs.
LTE: Stands for "Long-Term Evolution."
Is considered to be one of the "true" methods of 4G data (even if it
technically isn't). First rolled out by Verizon in late 2010, and then by
AT&T in late 2011, and Sprint will begin using it in mid-2012.
--[[M]]--
Mod: The act of modifying a piece of hardware or
software or anything else for that matter, to perform a function not originally
conceived or intended by the designer.
MSM: Mobile Station
Modem. Chipset manufactured by Qualcomm. Can for instance be found in cell
phones containing the Snapdragon chipsets
MTP: Stands for Media Transfer Protocol. Designed
by Microsoft, and used by devices that have a single, unpartitioned storage
structure to transfer files to and from a computer.
--[[N]]--
NFC: Near-field communication. Short-range
communication between your phone and something else -- another phone, a cash
register, etc. Used by some credit cards as a method of quick payment.
NILFS: (New Implementation of a Log-structured File
System) is a log-structured file system for Linux. It is being developed by
Nippon Telegraph and Telephone Corporation (NTT) CyberSpace Laboratories. It
uses a copy-on-write technique known as "nothing in life is free",
NILFS records all data in a continuous log-like format that is only appended
to, never overwritten, a design intended to reduce seek times, as well as
minimize the kind of data loss that occurs after a crash with conventional file
systems.
Nandroid: Nandroid is used to backup or restore
backups from Recovery. You can chose to either do a regular backup (Phone only)
or a backup + sd-ext (Phone + Apps2sd ext.)Both will backup your whole system,
the second will include apps saved on your sdcard’s sd-ext.
--[[O]]--
Odex: In Android file system, applications come in
packages with the extension .apk. These application packages, or APKs contain
certain .odex files whose supposed function is to save space. These ‘odex’
files are actually collections of parts of an application that are optimized
before booting. Doing so speeds up the boot process, as it preloads part of an
application. On the other hand, it also makes hacking those applications
difficult because a part of the coding has already been extracted to another
location before execution. Difference
between Odex and Deodex?
OEM: Stands for Original Equipment Manufacturer.
Usually a company that produces a component or entire device for another
company.
Open Source: Software which is liberally licensed to
grant the right of users to study, change, and improve its design through the
availability of its source code.
Open GL: An open source 3D graphics library used in
many devices, including Android devices.
OpenGL ES: Android provides OpenGL ES libraries that
you can use for fast, complex 3D images. It is harder to use than a Canvas
object, but better for 3D objects. The android.opengl and
javax.microedition.khronos.opengles packages expose OpenGL ES
functionality.
OTA: Stands for Over the Air. The act of moving
data to your phone -- downloading, really -- without having to plug it in. Most
Android system updates are OTA, as are application downloads.
Overclock: To increase the speed of your CPU.
--[[P]]--
Partition: The phone's internal memory (not the SD
card) is solid-state (flash) memory, AKA NAND. It can be partitioned much like
a normal hard drive can be partitioned. The bootloader exists in its own
partition. Recovery is another partition; radio, system, cache, etc are all
partitions.
Pixel: An individual dot on the display. Also a way
to measure the resolution of a camera (usually in millions of pixels). Pixels
usually are made up of sub-pixels. The arrangement of those sub-pixels affects
the way you see images and text.
PPI: Pixels per inch. How we determine a
display's "pixel density." The more pixels in a display, the better
graphics and text look.
PRL: The Preferred Roaming List, basically a way
of telling your phone which towers to connect to first.
Project Butter: Software enhancements introduced in Android
4.1 to improve the smoothness of on-screen transitions and animations. Project
Butter uses software tricks like vertical sync (vsync) and triple-buffering to
display a smooth, consistent frame rate throughout the UI.
--[[Q]]--
...
--[[R]]--
Radios: it controls the phones way of sending and
recieving a signal.
Ram: (Random Access Memory) A group of memory
chips, typically of the dynamic RAM (DRAM) type, which function as the
computer's primary workspace.
Recovery: The recovery partition is a boot-mode for
your phone that allows you to wipe your settings from the Data partition of the
phone (a hard wipe), or perform an update using an update.zip file on the root
of the microSD card. It is common (although not necessary) to flash a patched
Recovery image, such as TWRP or ClockworkMod Recovery. This allows you to run
Nandroid backup from the device, and flash modifications, such as files to the
device, essentially becoming a means to install software to the device.
Rom/Firmware: Read-Only Memory and technically speaking,
it refers to the internal storage of a device, which is supposed to contain the
operating system instructions that needn’t be modified at all during the
device’s normal operation.
Root: The first level of a folder.
Rooting: A process
allowing users of mobile phones, tablet PCs, and other devices running the
Android operating system to attain privileged control (known as "root
access") within Android's subsystem. Rooting is often performed with the
goal of overcoming limitations that carriers and hardware manufacturers put on
some devices, resulting in the ability to alter or replace system applications
and settings, run specialized apps that require administrator-level
permissions, or perform other operations that are otherwise inaccessible to a
normal Android user. Rooting is analogous to jailbreaking devices running the
Apple iOS operating system or the Sony PlayStation 3. On Android, rooting can
also facilitate the complete removal and replacement of the device's operating
system.
--[[S]]--
SBC: (the ability to charge your battery beyond
the default safe limit). The concept is similar to overclocking a processor:
you're overriding the safety limits established to achieve additional
performance. The benefit here is that you may gain more use of your battery per
charge. The drawback is that you can damage the battery and significantly
reduce its longevity. Some kernels claim they are using a safe technique to
prevent battery damage. Just be aware of the potential risks.
Script: The Scripting Layer for Android (abridged as
SL4A, and previously named Android Scripting Environment or ASE) is a library
that allows the creation and running of scripts written in various scripting
languages directly on Android devices. SL4A is designed for developers and is still
alpha quality software.
SGL: 2D graphics layer for Android
applications
Sideloading: It means
installing applications without using the official Android Market.
Splash Screen: A splash screen is an image that appears
while android is loading.Splash screens cover the entire screen or simply a
rectangle near the center of the screen. The splash screens of operating
systems and some applications that expect to be run full-screen usually cover
the entire screen.
SQLite: A powerful and lightweight relational
database engine used by the Android system components, and available to all
Android applications.
Superuser/SU: On many computer operating systems, the
superuser is a special user account used for system administration. Depending
on the operating system, the actual name of this account might be: root,
administrator or supervisor.
Normal work on such a
system is done using ordinary user accounts, and because these do not have the
ability to make system-wide changes any viruses and other malware - or simple
user errors - do not have the ability to adversly affect a whole system. In
organizations, administrative privileges are often reserved for authorized
experienced individuals.
Soft Reset: A "soft" reset is often useful in
solving minor problems. When you perform a soft reset, you are essentially
causing the device to stop everything it is running, and restart - same as to
"reboot"
SDK: (SDK or "devkit") is typically a
set of software development tools that allows for the creation of applications
for a certain software package, software framework, hardware platform, computer
system, video game console, operating system, or similar platform.
Stock: This is the operating system in its default
form, without any modifications made to it except for any device-specific
support required to run it on the particular device.
S-On: Security on,means no acces to the phones
operating system.
S-Off: Security was exploited,now have access to
the operating system.
--[[T]]--
Tethering: Means sharing the Internet connection of an
Internet-capable mobile phone with other devices. This sharing can be offered
over a wireless LAN (Wi-Fi), Bluetooth, or by physical connection using a
cable. In the case of tethering over wireless LAN, the feature may be branded
as a mobile hotspot.The Internet-connected mobile phone acts as a portable
router when providing tethering services to others.
--[[U]]--
UMS: Stands for USB Mass Storage. Devices with SD
cards or partitioned internal storage mount that storage as UMS when connecting
to a computer. Files can then be moved to and from the device.
Underclock: To reduce the speed of your CPU.
Undervolt: Undervolting means taking some of the
voltage from the CPU which in return gives a longer battery life and lower temperature
during intensive use of the CPU.
Updater Script: When Android devices install updates via
'update.zip' files using recovery mode they have to perform a wide range of
functions on files and permissions. Instead of using a minimal shell such as {b,d,c}sh
the Android designers decided to create a small functional language that can be
extended by device manufacturers if necessary. Since the Android
"Donut" release (v1.6) the scripting language is called Edify and is
defined primarily in the bootable/recovery/{edify,edifyscripting,updater}
directories of the Android source-code tree.
USB: Stands for Universal Serial Bus. Is a method
of connecting devices to a computer. Most smartphones now use microUSB cables
to charge and sync.
--[[V]]--
...
--[[W]]--
Wakelocks: A kernel mechanism for Android power
management. When a thread holds a wakelock, the kernel will refrain from
entering a low-power state.
Wireless N: Wireless N technology increases wireless
internet connection. Wireless 'N' routers also work with Wireless 'G' and 'B'
wireless adapters.
WiiMax: (Worldwide Interoperability for Microwave
Access) is a communication technology for wirelessly delivering high-speed
Internet service to large geographical areas.
--[[X]]--
...
--[[Y]]--
...
--[[Z]]--
...
Credits
- XDA
- Google
- Wikipedia
- Rooting Tools and
Games' Page
- Cherry Mobile Flare Lite (Quick Response Team)
- XDA
- Wikipedia
- Rooting Tools and Games' Page
- Cherry Mobile Flare Lite (Quick Response Team)
No comments:
Post a Comment