Related
Puzzled with all the buzzwords and your head is spinning?
Still want to learn a little about the strange world of Chefs and cooking?
Even are tempted to ask some questions but have not dared yet with all the geeks around here?
Here is a little nutshell-guide for you to lift you up:
The windows mobile operating system is composed of several parts (and this in several regards not always aligning) and it is helpful to understand the basic architecture to evaluate your problem against that.
This is not a detailed guide, it will not link to any sophisticated tools and it will not solve your problems right away. I just try to supply a little nutshell approach (simplifying some things - don't flame me for this if you know better) to put things in the right order.
After reading (and understanding) you are hopefully enabled to search for the right answers in the vast pool of wisdom around the web. You should also be able to tell apart the tales from the facts (on some level at least) and - if you need - ask the right questions and not immediately be ignored as a noob.
You see below a map that allows you to locate the various terms to the right places.
I will then elaborate a little on each of these in hierarchical order.
Code:
ROM file (usually packed into an update service pack containing also the update SW)
Parts:
- IPL
- SPL
- OS
partitions:
- USPL
- XIP
- Generic(MS) and OEM parts -> XIP porting
- packages (*.dsm + *.rgu)
- files and modules
- IMGFS
- Generic(MS) and OEM parts -> the usual ROM Cooking is here
- packages (*.dsm + *.rgu)
- files and modules
- languages
- T9
- *.mui.*
- *.provxml + lang_db
- ExtROM
- GSM/Radio
- Boot-Splash
ROM parts and Partitions:
Let us first look at the flash memory of the device. This is handled from the SPL (secondary program loader) during boot (passing control to the OS) and flashing where the different parts that are present in a ROM file will be written to the places of flash memory of the device.
The well known parts of a flash ROM are:
the IPL (Initial Program loader),
the SPL (secondary Program Loader) - a powerful on-board pre-OS program that is the gate-keeper for all further actions
the OS (Operating System),
the Radio (GSM),
the initial boot-splash
and others like ExtROM which is just a FAT partition for storing post-first-boot configuration and installation programs - depending on the device.
There are some more parts in the device memory for security reasons that hold the IMEI, SIM-Lock data and possibly other data that can be used for forensic analysis.
Shipped (vendor or operator original) ROMs usually contain ALL parts of a ROM so that you do not depend on a previous ROM to get a usable device.
Interesting for cooking is only the OS part of the ROM.
This holds ALL parts that make the difference between the windows mobile OS versions. Some cooks have added their own splash screens as ROM parts (additional to the ones that are displayed when to OS boots later), for some ROM flashing it is also required to replace the SPL (temporary or permanently) allowing the flash of non-signed ROMs or at least make it believe that you are allowed to do that (Super-CID).
Sometimes it is useful to step up to the latest Radio version to exploit features that this offers.
But again: Cooking is only about the "OS" part of the ROM! Only the OS part is usually replaced by flashing new cooked ROMs.
This OS part is structured into "partitions". So you can look at the OS part as something like a hard-disk in your PC that can also have partitions with different file-systems serving different purposes. For the OS part of the ROM the sequence of partitions is the
ULDR (look that up yourself) which is usually not needed and can often be removed or minimized,
then the XIP (historically "eXecute In Place")
then the IMGFS (Image file-system)
and some additional partition, e.g. for the ExtROM.
XIP and IMGFS make up the Windows Mobile OS and are subject to "cooking".
XIP and IMGFS:
In the boot process the SPL passes control to the nk.exe (Native Kernel) in the XIP and it will load the early drivers and services that allow to reach a certain minimal OS service level to access the IMGFS for further boot.
The IMGFS itself holds all the rest of files and modules to start the OS to that level where the user can use it.
OEM and the rest:
The HW of most mobile devices is special in one or the other way. Dedicated drivers are needed to abstract the HW dependent parts to a level that the Operating system can interface with them in a standardized way. All these are summarized under "OEM parts" (Original Equipment Manufacturer) while all other parts are from Microsoft and are supplied in a generic way.
You can suspect that all OEM parts have to be compiled taking the HW specifics into account, while the generic parts can be taken as is (binary) and both will be assembled to a final ROM production.
This separation of OEM and "the rest" makes "cooking" and "porting" possible at all. If this architecture was not designed by Microsoft, then there was no cooking in the kitchen
OEM parts stay usually unchanged through all cooking and porting activities, so that also means that a WM5 device will keep all the OEM parts even if the OS version is WM6.5. OEM parts are in both, the XIP (nk.exe and some OEM modules) and the IMGFS. You will especially not gain any advantage of the enhanced memory allocation scheme if your device does not have a native 6.5 kernel (nk.exe).
OEM may also add applications to their devices that exploit special HW options of the device (e.g. the camera application) or that are the result of an effort to make their devices unique (like HTC's Homescreen).
Kitchen separate on top-level into SYS and OEM folders but the allocation of packages (see own chapter) to either one or the other is not uniform. Some add the OEM drivers (i.e. the true HW dependent parts) in the SYS folder, others (newer) kitchen put them also under the OEM top-level.
Packages and ROM Protection:
To keep the various parts of a ROM well organized, Microsoft has created an environment that allows to produce ROMs in an easy way. This is not accessible to us ROM hackers, but the remains of the packaging tools in the ready assembled original ROMs have inspired many hackers and chefs to utilise the same methods.
They created tools to de-compose original ROMs and also to use the same methods for creating new ROMs. Over time these tools have become very sophisticated and may even offer more options than original MS tools (I guess). As all this is a shared activity with many contributors, it is important (in my view) to keep sharing what you discover.
In original ROMs you find many files like <some-strange-number-letter-combo>.rgu and also <*>.dsm. These are the remains of the packaging process that has created the ROM. They are NOT needed on the device itself! However have those files allowed to understand the process of building a ROM.
These <some-strange-number-letter-combo> elements are called GUID (Globally Unique Identifier) and are identifying packages. The DSM (Device Side Manifest) file identifies all components of a package (their name, status, properties, size, build properties and much more) while the RGU (Registry Update?) file identifies the changes that are made to the standard registry hive for that package.
So ultimately one method of ROM "protection" that some kitchen offer and that some chefs are using is to remove all the *.dsm and *.rgu files before they build the IMGFS. The resulting ROMs still have all files that are needed for the ROM to run, but they cannot be decomposed to packages (the .dsm files are missing) again and during re-build the *.rgu files are missing to update a standard hive file (e.g. of a new base ROM from MS).
Files and Modules:
Logically the smallest parts are files, which is common to all operating systems. There is one specialty however in the WM-OS and this is so called "modules".
They are basically memory-fix located executable files which can be loaded faster than normal executable files. As their memory location is fixed in the production process, all those modules must not overlap their memory. The process of realigning a new set of modules to the available memory locations is called "re-location" or "re-allocation". Tools like mreloc, G'reloc, wmreloc, extreloc or within OSBuilder take care about this in the production process.
You recognize modules that they are folders in the kitchen with the name of the module and some files inside that make up their content. These modules later "look like" files in the \windows folder of your device but they are still modules which are just hidden from your visibility by the filesystem presenting the data to you.
Even worse for easy understanding is that you seem to be able to "overwrite" such files on your device later, but you do not actually overwrite them. You create a file with the same name in the FATFS that is linked to the IMGFS where the ROM is stored. The copied file takes precedence over the original one in ROM. This works for many files in ROM, but NOT for those who are loaded before the FATFS is active (e.g. after cold-boot the FATFS is empty or during early boot-phase when the XIP partition is loaded).
Languages in a ROM:
While it was usual in older times to have multi-language ROMs, this habit seems to vanish with newer devices and several vendors produce country specific ROMs only. However does Windows Mobile offer all options to have many languages present in a ROM. The places that need adjustment are multi-fold, however only some need real attention usually.
Luckily the country specific details of time/date/number/currency and alike are stored in a common database and are present in all devices no matter which user interface they have (afaik the nls file). Also the naming of the settings options (e.g. "Short Date Format") are present in all languages already. There is no need to adjust this usually.
The text entry system (T9 or its successors) is handled by a dedicated package and new languages can be added quite easily. The languages here are independent of the language settings for the UI, so you can have a device with only WWE (World Wide English) on the GUI but still have your local language supported e.g. for sending text messages. Mind that usually all language databases must be of the same (matching the T9 executables) version to work properly. You cannot pick an arbitrary language file from another T9 enabled device.
The programs or dll that are constructed to support multiple languages have in many cases <program/dll-name>.mui.<nnnn>.* files where the "mui" indicates "multilingual user interface" and the <nnnn> the relevant 4 digit number of your language (0409 is US English, 0407 is German and so on..). Usually there are dedicated packages in a ROM that supply all necessary changes to the registry so that this language is supported when you switch to it in the regional settings.
Applications that a chef has added to a ROM may need separate methods to add a language, most are not having an automated approach or are only supporting their own native language. You could still work on the binary file directly, either in a structured approach by de-composing the executable into its resources (e.g. with resource hacker) and add/change strings there or even directly hex-editing the file itself. Mind that you MUST NOT insert or delete any byte - you must OVERWRITE existing strings only. You also have to take care that on a smartphone with certificate security switched on you must remove the existing certificate (if any) and re-sign the file again.
The settings themselves are a special system of menus (*.cpl.xml) on a smartphone that manipulate registry data or other values of the device. For that purpose the settings are using the already existing "Service Provisioning" method that can as well be used via WAP or with other means.
To make that provisioning in some way a little user-friendly, there is a process to define names and options for changing such data - finally they are stored in a database on the device.
Now when you call the settings menu, the system reads the elements that shall be changed and also the linked information (label, limits, representation) from that database to present this on the screen.
So if you like to have more parameters in the settings menus or if you want to make your own panels for settings or tweaks, then you have to deal with adding your information to that database.
This is done with *.provxml files. These files are treated on the device (so not during cooking where the *.dsm and *.rgu files are used) and they are handled on different occasions (first/cold boot, sometimes also on other occasions). This is also why a "first boot" of a ROM is taking much longer then subsequent boots. So if you want to find out which additional settings-options are in your ROM, parse all *.provxml files for your country string (you remember "0409"?) and add relevant parts for the language you want to add.
This is tricky though: the files are stored in UTF-8 format without the UTF-8 header. If you save them in the wrong encoding they will not work any longer! I use the free notepad++ editor (http://notepad-plus-plus.org/) that handles them well.
The final part in this story are the settings panels themselves (usuall in the OEMMISC folder: *.cpl.xml). Also here some labels are defined in a language specific way - just add what you need per language following the obvious pattern that is given in the files already.
[*]Now that I see the above, I noticed that the smartphone homescreen is also an XML file - so also there the labels and options can be set in a language specific way. Look up the *.home.xml files if the language you want to deal with is present in these files. Usually the MS defined homescreens have very many languages already inside, so you may not need to change anything here. As mostly nobody cares about smartphones any longer and even less about old-style homescreens - this may have no need to be mentioned.
[*][added 2012 02 24]: Hardly documented (but widely used) and very useful is that the registry supplies an automatic NLS dependent branching of values. So if you have a value like HKxy\path1\path2\myvalue and you want to have two different data for it, each depending on the selection of the active interface language, then supply the value like:
HKxy\path1\path2\0409\myvalue=<English string>
Example (from SYS\Base_Lang_nn):
[HKEY_LOCAL_MACHINE\Comm\EAP\Extension\13\0409]
"FriendlyName"="Smart Card or Certificate"
HKxy\path1\path2\0407\myvalue=<German string>
Example (from SYS\Base_Lang_nn):
[HKEY_LOCAL_MACHINE\Comm\EAP\Extension\13\0407]
"FriendlyName"="Smartcard oder Sicherheitszertifikat"
Note that specialty cannot be seen when you access the registry with standard means (so via the device itself) later on anymore. You will just see the registry path of the current selected interface language. Tools that can read the created hives directly will show them.
Bottomline for dealing with languages:
know the number for your language and the one that is in a ROM
care for T9 libraries and make sure to use all of the same version
find the version matching *.mui.* files for the language to add
search all kinds of XML files (*.provxml, *.cpl.xml, *.home.xml) for the language number and make your changes
inspect the *.rgu of the language dependent packages and see if all items are set properly. Be inspired and create your own language dependent registry values.
When you move ahead in your strive to cook your own ROMs, you will notice that old style (batch file) kitchen give you control over what happens when as you are calling the dedicated tools for certain jobs directly.
Newer Kitchen have assimilated all work-flows in their own GUI, some still needing the tools that also the batch file kitchen use.
The latest breed of kitchen has most tasks built in. So you are completely left with the style that the master of that kitchen has implemented his understanding of work-flow logic. Sometimes it is hard to understand what belongs where (for a noob that you may be reading until here - it is hopeless anyway) - but as long as you understand the architecture you can have your own mind-map and put things together on your own.
If you like and have some old devices to play with, why not give it a start with any of my 3 kitchen for the good old Candy Bar smartphones which HTC had created?
WM65 (English/German) OS Builder Kitchen + ROMs for Typhoon based on Aleut's WM65 ROM
OS Builder Kitchen for Hurricane: WM6, WM6.1 and WM6.5 English + German
OS Builder Kitchen for Tornado: WM6, WM6.1 and WM6.5 English + German
You need to fix some battery stuff related to these old gems, look here:
[now without battery ] Replace Backup Battery in Tornado, Hurricane or Typhoon
mind that the cooked ROM from the kitchen above already contain the "without battery" part.
Measure and compare your battery capacity - easy, foolproof, comparable - any WM dev
If you like this tutorial and it has given you some more insight, please push the "Thanks" button at the bottom.
Nice post mate, this his all foundation in a nutshell-guide .
Thanks.
I agree, nice tut. No doubt, it will help many people!
I'be been reading all, wow, so detailed.
Nice job indeed, thank you.
Grtz,
Laurentius26
Great work. Simple and precise
added language dependent registry branches
Not many left who wish to cook anymore, so just to complete the language dependent items in my original post.
Hardly documented (but widely used) and very useful is that the registry supplies an automatic NLS dependent "branching" of values. So if you have a value like HKxy\path1\path2\myvalue and you want to have two different data for it, each depending on the selection of the active interface language, then supply the values like:
HKxy\path1\path2\0409\myvalue=<English string>
Example (from SYS\Base_Lang_nn):
[HKEY_LOCAL_MACHINE\Comm\EAP\Extension\13\0409]
"FriendlyName"="Smart Card or Certificate"
HKxy\path1\path2\0407\myvalue=<German string>
Example (from SYS\Base_Lang_nn):
[HKEY_LOCAL_MACHINE\Comm\EAP\Extension\13\0407]
"FriendlyName"="Smartcard oder Sicherheitszertifikat"
Note that specialty cannot be seen when you access the registry with standard means (so via the device itself) later on anymore. You will just see the registry path of the current selected interface language. Tools that can read the created hives directly will show them.
I was going through another site & came across a Terminology Guide. I couldn’t find something similar here so just wanted to take it upon myself to create a well organized post providing abbreviations & terminology so that any one, Master or Newbie, can have a quick reference guide to all things droid. I myself do not know everything but I do know some things & I believe with some help from the moderators & contributing members of xda-developers, we can throw together a one-stop-shop for all the droid info.
[FONT="]A special thanks to [/FONT][FONT="]Sam Fisher [/FONT][FONT="]at[/FONT][FONT="] droidforums [/FONT][FONT="]for the inspiration[/FONT][FONT="]!![/FONT]
Thanks to My_Immortal, OmegaRED^ & Spaarc for their suggestions & information shared!
________________
ADK: Android Development Kit, What people use to develop anything for the Android such as ROM's
The ADK (Android development kit) is divided into 3 parts
1. Android SDK (Software development Kit): used to make easy programs which only require touch & some sensors , e.g. Games
2. Android NDK ( Native Development Kit): this is used to Create apps which require Hardware or Use the native binaries & libraries of Android , eg. Camera , CyanogenMod Settings, Oxygen Settings , etc.
3. Android PDK ( Platform Development Kit): As the name suggests this is the main kit which allows to make all ".mk" files (eg. Android.mk, etc) & most of the files found on github
Basically Dev's like FXP , Z , Achotjan , kxhawkins , etc. Use the PDK to make AOSP/CM7 ROMs from source
& Also use NDK to edit the system apk's etc. to make it stable
adb: Android Debug Bridge, a command-line debugging application included with the SDK. It provides tools to browse the device, copy tools on the device, & forward ports for debugging. If you are developing in Eclipse using the ADT Plugin, adb is integrated into your development environment.
AOSP: Android Open System Project, usually you will see this term when referring to a program or ROM. This will mean that the program or ROM was taken from Google & does not contain any modifications done by the phone Manufacturer or the phone service provider. This is Android the way Google intended.
Application Programming Interface (API): An interface used by applications to communicate with each other. An API is a library that may include specification for routines, data structures, object classes, and variables. APIs are particularly useful in extending a platform.
Apps2SD: A method of storing items and Cache on the device’s microSD card, allowing you to run apps on external memory.
Boot Animation: A term for a graphical representation of the boot process of the OS. Boot animation can be a simple visualization of the scrolling boot messages in the console, or it can present graphics or some combination of both. Boot animation is not necessarily designed for marketing purposes, but can enhance the experience of the user as eye candy, or provide the user with messages to diagnose the state of the system.
Baseband or Radio: In communications & signal processing, the baseband describes signals & systems whose range of the frequencies measured from close to 0 hertz to a cut-off frequency, a maximum bandwidth or highest signal frequency; it is sometimes used to describe frequencies starting close to zero
Boot Loader/SPL: In literal terms, boot loader is code that is executed before any Operating System starts to run. The concept of boot loaders is universal to virtually all Operating systems that include operating systems on your PC, laptop, Smartphone, & other such devices. Boot loaders basically package the instructions to boot operating system kernel & most of them also have their own debugging or modification environment. As the boot loader kicks off before any piece of software on your device, it makes it extremely processor specific & every motherboard has its own boot loader.
Boot Loader/SPL (Unlocked): A locked or unlocked boot loader is what gives you access to “root.” “Root” is another big word in the Android community. If you “root” a device, it means you have “super user” access or “administrator” access to the operating system that runs on your phone. Root access of your Android device gives you the ability to flash ROMs.
One of the most popular ROMs was created by a team called the CyanogenMod(CM), & their current rom is CM7, which is built on Android 2.3 Gingerbread. What this means is that if you have a phone that has an unlocked boot loader & root access, you can flash the CM7 ROM to your phone with a couple more steps. This also means that you can get access to most of the features in the latest version of Android that is commercially available, without having to wait for your manufacturer or carrier to give you an official update.
Boot Loop: Simply means something is preventing the phone from completing it's boot cycle & is stuck between the boot animation & the unlock screen, creating a looped animation. This is often fixed by either reloading a NAndroid, or Reflashing a ROM from the xRecovery/ClockworkMod Recovery/Flashtool.
Brick or Bricked: Jargon for a completely unrecoverable device, (no more than a brick or paperweight)
Note: It is my understanding that radio will boot first, followed by other systems. So it is IMPORTANT that your radio image/version will work with your SPL image/version. This is the one & only reason for phones being bricked. You cannot brick your phone by flashing a ROM or Boot image or recovery image. Once you flash the wrong radio for the SPL, the only known method of recovery is to send the phone back into SE for repair.
How do I know the phone is hard-bricked? A hard-bricked phone cannot boot into boot loader, recovery, or into normal operation modes. You cannot connect to a hard-bricked phone via adb or fastboot. You can only see one screen on the phone & it will be the first splash screen.
Bug or Software Bug: An Error or flaw in software that produces a failure or unexpected/unwanted result. Typically created from incorrect code, this is why some ROMs are better & smoother running than others because developers have taken the time to input "perfect" code (read put in a lot of hours & hard work)
Busybox: A single multicall binary that packages the functionality of most widely used standard Unix tools, BusyBox provides a fairly complete environment for any small or embedded system.
Canvas: A drawing surface that handles compositing of the actual bits against a Bitmap or Surface object. It has methods for standard computer drawing of bitmaps, lines, circles, rectangles, text, and so on, and is bound to a Bitmap or Surface. Canvas is the simplest, easiest way to draw 2D objects on the screen. However, it does not support hardware acceleration, as OpenGL ES does. The base class is Canvas.
COMPCACHE: (compressed caching) is, in short, virtual swap, setting aside a certain percentage (usually 25%) of your RAM as 'compressed' swap. Compcache compresses the data that would normally go to swap, then moves it back into RAM, and reverses the process when moving it out of the 'compressed' swap. However, this is a classic space-time trade-off. You effectively get more RAM from the compression, but it is slower than 'normal' RAM due to the CPU time required to compress and decompress the swapped pages.
ClockworkMod: A recovery program that is often used to apply updates, ROMs, or create a back up or restore a backup file
Custom ROM: A custom ROM can range in definition from some custom code modifications to make Android run better on a device, all the way to changing the homescreen, background services, and default software.
Many software experts collaborate together in communities to build the fastest or most feature filled ROM’s. The most popular today are CyanogenMod (which supports over 70 devices!), AOKP (a lightweight ROM with plenty of customization options), and Android Revolution, a heavyweight ROM which often focusses on looking great. Just because these Android builds are made by ‘ordinary people’ and not highly paid developers at HTC or Samsung doesn’t mean they are full of bugs or risky to use. In most cases the software built by communities is ten times better. Release cycles are much shorter, fun features can be put in, and anyone can contribute an idea to the development.
DALVIK: An open source, register-based virtual machine (VM) that’s part of the Android OS. The Dalvik VM executes files in the Dalvik Executable (.dex) format, a format that is optimized for efficient storage and memory-mappable execution & relies on the Linux kernel for additional functionality like threading & low-level memory management. The virtual machine is register-based, and it can run classes compiled by a Java language compiler that have been transformed into its native format using the included "dx" tool. The Dalvik core class library is intended to provide a familiar development base for those used to programming with Java Standard Edition, but it is geared specifically to the needs of a small mobile device.
Dalvik Cache: A program cache area for the program Dalvik. Dalvik is a java based virtual machine that is the basis for running your programs (the ones that have the .apk extension). In order to make access times faster (because there's not JIT (just in time) compiler installed by default), the dalvik-cache is the result of dalvik doing a optimization of the running program. It's similar to the prefetch files in Windows.
DDMS: Dalvik Debug Monitor Service, a GUI debugging application included with the SDK. It provides screen capture, log dump, and process examination capabilities. If you are developing in Eclipse using the ADT Plugin, DDMS is integrated into your development environment.
Deep Sleep: A state when the CPU is off, display dark, device is waiting for external input.
Density-Independent pixels (dp): A virtual pixel unit equivalent to one physical pixel on an average, “medium” density 160 dpi screen. On higher ppi screens, dp’s are scaled to retain a constant size (px = dp * (dpi/160)). For example, on a 200 dpi screen, the dp would take up 1.25 physical pixels.
Dots per inch (DPI, or dpi) is a measure of spatial video dot density, in particular the number of individual dots that can be placed in a line within the span of 1 inch (2.54 cm).
De-odex: Apk files have respective odexes that devs use to supposedly save space. Deodexing means you convert it back to a .dex file & put it back inside the apk. This allows you to easily replace files (not having to worry about odexes), but the main point was to deodex services.jar so that you can change all text to different colors (such as the clock color to white) & to deodex services.jar, you need to deodex everything.
Dev. or Developer: An individual that creates, or alters a file in such a manner as to advance the program
Drawable: A compiled visual resource that can be used as a background, title, or other part of the screen. A drawable is typically loaded into another UI element, for example as a background image. A drawable is not able to receive events, but does assign various other properties such as "state" and scheduling, to enable subclasses such as animation objects or image libraries. Many drawable objects are loaded from drawable resource files — xml or bitmap files that describe the image. Drawable resources are compiled into subclasses of android.graphics.drawable.
Fastboot: Protocol used to update the flash file system in Android devices from a host over USB. It allows flashing of unsigned partition images.
FC/FC’s: Short for “force close,” meaning an app that has crashed.
Flash: Rewrite the software/firmware on your phone using a computer to "flash" or completely rewrite the memory (ROM) of your phone. This is done using ODIN.
Flash Memory: a program technology that can be electrically erased & reprogrammed
Flashtool: It is a S1 flashing software that works for all Sony phones from X10 to Xperia Z Ultra. They all use the S1 protocol for flashing firmwares.
This program was originally made to flash sin files downloaded by SEUS or PCC. From time to time, sin files have been bundled into what is now well known FTF (Flash Tool Firmwares). That is the core of Flashtool and the reason of its name.
Flashtool can also easily unlock the bootloader of the phone using the BLU icon as far as the bootloader of your phone is unlockable.
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.
Hard Reset: The act of resetting your phone to its “factory” state. A hard reset erases all user data, logins, and passwords. This process may or may not erase the contents of the internal storage and/or microSD card as well.
JIT: The Just-in-Time Compiler, released with Android 2.2, it’s a method of greatly speeding up apps in Android. The JIT compiler analyzes an app’s code and converts it, allowing the app to run faster. It does all this while the application is running, hence “just in time.” The JIT compiler for Android functions with a very short “warm up” time; it doesn’t take very long to analyze the code before it starts working.
Kernel: The main component of Android operating system.
It is a bridge between applications & the actual data processing done at the hardware level.
The kernel's responsibilities include managing the system's resources (the communication between hardware & software components).
[Usually as a basic component of an operating system, a kernel can provide the lowest-level abstraction layer for the resources
(especially processors & I/O devices) that application software must control to perform its function.
It typically makes these facilities available to application processes through inter-process communication mechanisms & system calls.
Operating system tasks are done differently by different kernels, depending on their design & implementation.]
Launcher: Collectively, the part of the Android UI on the home screen that allows you to launch apps, make phone calls, etc. It is built into Android, or can be purchased in the Android Market.
Manifest File: An XML file that each application must define, to describe the application's package name, version, components (activities, intent filters, services), imported libraries, and describes the various activities, and so on. See The AndroidManifest.xml File for complete information.
Nine-patch / 9-patch / Ninepatch image: A re-sizeable bitmap resource that can be used for backgrounds or other images on the device.
Nandroid or Nandroid Backup: A file typically created in the custom recovery program, such as xRecovery, that is a carbon copy of whatever state your phone is in before a drastic change is made. The file then can be moved onto or off of the SD card for later use in case something should go wrong in the ROM or Update, or a Boot Loop occurs
ODIN: It is the program you can use to flash phones.
e.g. : 'Odin Multi-Downloader v3.95' is used to flash the Samsung Galaxy. It's usually included in firmware packs.
OEM: Original Equipment Manufacturer, the people who actually put together electronic hardware. Also refers to any equipment original to the phone, or produced by the company for the phone
OpenGL ES: A cross-platform API for full-function 2D and 3D graphics on embedded systems. 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.
OS: Operating system, I.E. Windows Vista, LINUX or MAC or Android
OTA: Over-the-Air; method T-Mobile, & some other phone companies, uses to update Android phones. The new versions of Android are developed by Google & then released to OEM's, Sony Ericsson in our case. The OEM then writes drivers that enable the new software to work on the phone's hardware. They also develop any specialized UI (user interface), like Timescape & Mediascape, or other software they want to include. Once this is complete, they turn it over to the cell phone company, (e.g.)Tmobile, who then have to do the final checks to make sure the update works, & then distributes it over there data network using their cell transmitters.
Overclocking (OC): Speeding up the CPU past the factory presets to achieve a faster & more responsive device (prolonged run can be injurious to your device, so be careful.
Partition: The phone’s internal memory (not the SD Card) is solid-state (flash) memory. It can be partitioned much like a normal hard drive can be partitioned. On an Android device, the Bootloader exists in its own partition. Recovery is another partition; radio, system, Cache, etc. are all partitions.
Here are the standard partitions on an Android phone:
/misc – miscellaneous…
/boot – bootloader, kernel
/recovery – holds the recovery program (either clockworkmod or RA recovery for a rooted Evo)
/system – operating system goes here: Android, etc.
/cache – cached data from OS usage
/data – user applications, data, settings, etc.
The below partitions are not Android-specific. They are tied to the hardware of the phone, but the kernel may have code allowing Android to interact with said hardware.
/radio – the phone’s radio firmware, controls cellular, data, GPS, bluetooth.
/wimax – firmware for Sprint’s flavor of 4G, WiMax.
Recovery Mode: A small separate operating mode you can boost your device into, used for device administration. Two popular custom recovery modes for our device are xRecovery and ClockworkMod.
ROM: Read Only Memory, a program used to make changes to anything from the look of the home screen to icons to custom boot animation.
Root: Common word associated with giving a user "super user" access to their phones programming & other various aspects that would normally not be possible, also known as "Jailbroken" for iPhone's, "Administrator Rights" in Windows OS.
Shell or SSH: The shell is the layer of programming that understands & executes the commands a user enters. In some systems, the shell is called a command interpreter. A shell usually implies an interface with a command syntax (think of the DOS operating system & its "C:>" prompts & user commands such as "dir" & "edit"). secure shell or ssh is a network protocol that allows data to be exchanged using a secure channel between two networked devices
Soft Reset: The act of rebooting your phone, whether intentionally or otherwise, same effect as when you remove and replace the battery.
SQLite: An embedded relational database management system contained in a relatively small (~275 kB) C programming library. It is multitasking concerning reads. Writes can be done only one-at-a-time. It is a popular choice for local/client storage on web browsers. It has many bindings to programming languages. It is arguably the most widely used database engine, as it is used today by several widespread browsers, operating systems, embedded systems among others
Stock: Simply means an unaltered state, such as when you first purchase your phone from Verizon/Your Service Provider or when you repair your phone using PC Companion or SE Update Service(SEUS)
SU: "Super user", or root permissions
SWAP: is, in short, virtual RAM. With swap, a small portion of the hard drive is set aside and used like RAM. The computer will attempt to keep as much information as possible in RAM until the RAM is full. At that point, the computer will begin moving inactive blocks of memory (called pages) to the hard disk, freeing up RAM for active processes. If one of the pages on the hard disk needs to be accessed again, it will be moved back into RAM, and a different inactive page in RAM will be moved onto the hard disk ('swapped'). The trade off is disks and SD cards are considerably slower than physical RAM, so when something needs to be swapped, there is a noticeable performance hit.
Unlike traditional swap, Android's Memory Manager kills inactive processes to free up memory. Android signals to the process, then the process will usually write out a small bit of specific information about its state (for example, Google Maps may write out the map view coordinates; Browser might write the URL of the page being viewed) and then the process exits. When you next access that application, it is restarted: the application is loaded from storage, and retrieves the state information that it saved when it last closed. In some applications, this makes it seem as if the application never closed at all. This is not much different from traditional swap, except that Android apps are specially programmed to write out very specific information, making Android's Memory Manager more efficient that swap.
Theme: A set of icons, backgrounds & app trays that change the aesthetics of the overall look of the Android & its applications. It has a set of properties (text size, background color, and so on) bundled together to define various default display settings. Android provides a few standard themes, listed in R.style (starting with "Theme_").
TWRP: TeamWin Recovery Project – or TWRP for short – is a fully touch-based custom recovery that was initially developed for Nexus devices, but has since been made available for countless other smartphones and tablets as well, in form of both official and third-party builds.
TUN/TAP: Refers to a network TUNnel, operates within layer 3 packets, or ip packets. Packets sent by a system via a TUN/TAP device are delivered to a user-space program that attaches itself to the device. A user space program may also pass packets into a TUN/TAP device. In this case TUN/TAP device delivers (or "injects") these packets to the operating system's network stack thus emulating their reception from an external source.
Underclocking(UC): Slowing down the CPU mainly to limit battery usage
Undervolting(UV): Basically keeping the clock speed same (or overclocking it) & reduce the voltage at each cpu cycle.
Updater Script: A scripting language called Edify for all Android OS since “Donut.” Updater Script is used with recovery mode, to perform a wide range of functions on files and permissions.
xRecovery: A recovery program based on the ClockworkMod Recovery sources used to apply updates, ROMs, or create a back up or restore a backup file
Zipalign: An archive alignment tool that optimizes the way a .apk is packaged. Doing so enables the Android operating system to interact with the application more efficiently, and hence has the potential to make the application and system much faster. Execution time is minimized for zipaligned applications, resulting is less RAM consumption when running the .apk.
File Types:
.dex: Compiled Android application code file. Android programs are compiled into .dex (Dalvik Executable) files, which are in turn zipped into a single .apk file on the device. .dex files can be created by automatically translating compiled applications written in the Java programming language.
.sbf: Summation Briefcase File
.apk or APK's: An .apk file extension denotes an Android Package (APK) file, an .apk file can be opened & inspected using common archive tools. 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. For example: myExampleAppname.apk. For convenience, an application package file is often referred to as an ".apk".
.tar: Similar to a zip file(derived from tape archive), a tar file archives multiple files into one file
.tgz: TGZ files (gnu-zipped .tar file) are commonly used as install packages for Slackware Linux.
pheeeeww!!This took sometime!!
Well this is all I can think of off the top of my head but as I think of more I will edit them in here & I encourage the mods to put things that I either forgot or just simply am not aware of. Also I request fellow user to suggest any terms frequently used & not added or any discrepancies found, kindly PM me!!
Thank you & happy hacking/flashing!!
_____________________________________
X10 LED States:-
--------------------------------------
W-LOD: White LED of DEATH.
--------------------------------------
Sometimes a R-LOD is similar to a W-LOD but the LED is red instead.
Usually results in a Reboot, or a Freeze or a Crash
-------------------------------
Flashing R-L: Red LED.
-------------------------------
Led flashes RED 3 times.
Indicates Requirement for Charge
--------------------------------
G-LS: Green LED Steady.
--------------------------------
LED goes Steady GREEN while USB is plugged in.
Flash Mode Entered/Fully Charged.
CPU : -
----------------------------------------
Central Processing Unit: -
----------------------------------------
It's pretty much the heart of your device pumping data through & from all the attached devices the Kernel & Modules is its soul & it's OS is it's skin & flesh.
-----------------------
Core Clock Speed: -
-----------------------
It is the actual clock speed that the CPU is running at. "Not the multiplied speed."
It's good to remember a CPU's performance is also effected by its memory's speed.
Similar rules exist for the GPU (Graphics Processing Unit).
Nice effort! Thanks!
Although, you got the Kernel thing wrong:
kloud_ said:
Kernel: The govenor of the CPU usage and Battery output, one can upload certain Kernals to achieve greater performance speed of their device at the cost of some battery life
Click to expand...
Click to collapse
Kernel: It's the main component of Android operating system.
It is a bridge between applications and the actual data processing done at the hardware level.
The kernel's responsibilities include managing the system's resources (the communication between hardware and software components).
[Usually as a basic component of an operating system, a kernel can provide the lowest-level abstraction layer for the resources
(especially processors and I/O devices) that application software must control to perform its function.
It typically makes these facilities available to application processes through inter-process communication mechanisms and system calls.
Operating system tasks are done differently by different kernels, depending on their design and implementation.]
My_Immortal said:
Nice effort! Thanks!
Although, you got the Kernel thing really wrong:
Kernel: It's the main component of Android operating system.
It is a bridge between applications and the actual data processing done at the hardware level.
The kernel's responsibilities include managing the system's resources (the communication between hardware and software components).
[Usually as a basic component of an operating system, a kernel can provide the lowest-level abstraction layer for the resources
(especially processors and I/O devices) that application software must control to perform its function.
It typically makes these facilities available to application processes through inter-process communication mechanisms and system calls.
Operating system tasks are done differently by different kernels, depending on their design and implementation.]
Click to expand...
Click to collapse
Thanks for correcting me... got a bit distracted and thus the blunder. My bad.
Have edited the term
Good work thaks
Sent from my GT-I9000 using Tapatalk
Brilliant. Prefect for newbies. I wish there was something like this when i started lol.
Sent from my X10 TripNMiUI-1.8.19 using XDA App
kylec said:
Brilliant. Prefect for newbies. I wish there was something like this when i started lol.
Sent from my X10 TripNMiUI-1.8.19 using XDA App
Click to expand...
Click to collapse
better late than never!!
Nice work Bro, great idea, wants a sticky
colossus said:
Nice work Bro, great idea, wants a sticky
Click to expand...
Click to collapse
thanks Smarts or Colossus!
vERY nice guide
The ADK (android development kit) is divided into 3 parts
1.Android SDK (Software development Kit) : used to make easy programs which only require touch and some sensors , eg. Games
2.Android NDK ( Native Development Kit) : this is used to Create apps which require Hardware or Use the native binaries and libraries of Android , eg. Camera , CyanogenMod Settings , Oxygen Settings , etc.
3.Android PDK ( Platform Development Kit) : As the name suggests this is the main kit which allows to make all ".mk" files (eg. Android.mk , etc) and most of the files found on github
Basically Dev's like FXP , Z , Achotjan , kxhawkins , etc. Use the PDK to make AOSP/CM7 ROMs from source
And Also use NDK to edit the system apk's etc.. to make it stable
That's some knowledge from my side
spaarc said:
vERY nice guide
The ADK (android development kit) is divided into 3 parts
1.Android SDK (Software development Kit) : used to make easy programs which only require touch and some sensors , eg. Games
2.Android NDK ( Native Development Kit) : this is used to Create apps which require Hardware or Use the native binaries and libraries of Android , eg. Camera , CyanogenMod Settings , Oxygen Settings , etc.
3.Android PDK ( Platform Development Kit) : As the name suggests this is the main kit which allows to make all ".mk" files (eg. Android.mk , etc) and most of the files found on github
Basically Dev's like FXP , Z , Achotjan , kxhawkins , etc. Use the PDK to make AOSP/CM7 ROMs from source
And Also use NDK to edit the system apk's etc.. to make it stable
That's some knowledge from my side
Click to expand...
Click to collapse
Thanks Spaarc.
Will add it right away! Thanks once again
This could be called "AndroidDictionary for noobs"
Infinity Ytinifni S. Sent from Xperia X10i-modded.
X10 Led States:-
----------------------
W-Lod: White LED of DOOM.
--------------------------------------
Sometimes a R-lod is similar to a W-lod but the LED is red instead.
Usually results in a Reboot, or a Freeze or a Crash
R-R-L: Red Rolling LED.
-------------------------------
Led flashes RED 3 times.
Indicates Requirement for Charge
G-LS: Green LED Steady.
--------------------------------
LED goes Steady GREEN while usb is plugged in.
Flash Mode Entered and or Fully Charged.
Cpu's. Central Processing Unit:-
----------------------------------------
It's pretty much the heart of your device pumping data through and from all the attached devices the Kernel and Modules is it's soul and it's OS is it's skin and flesh.
Core Clock Speed:Is the actual clock speed that the CPU is running at. "not the multiplied speed."
It's good to remember a CPU's performance is also effected by it's memory's speed.
Similar rules exist for the GPU.
This place was so color less i figured i would bring some.
haha
thanks for the post OmegaRED^
thanx pretty usefull info out there.!!
Definetly a Sticky. Thanks very much!
Now I know what a "WLOD" is. I had no idea before.
Karl
i though WLOD is stand for White LED of death....just like blue screen of death for windows (but who cares...it still got same meaning anyway )
anyway...nice thread....should request for sticky
Arnold.Alexius said:
i though WLOD is stand for White LED of death....just like blue screen of death for windows (but who cares...it still got same meaning anyway )
anyway...nice thread....should request for sticky
Click to expand...
Click to collapse
Thanks... it stands for death but I liked the way it sounds so didn't change what OmegaRED^ had suggested!
A few corrections.
OTA: Over The Air.
tar: Tape ARchive - archive consisting of multiple files that has not been compressed.
tgz: compressed tarbol (tape archive) usually with gzip.
shell: the standard command language interpreter.
ssh: secure shell - provides secure encrypted communications between two untrusted hosts over an insecure network.
This was an easy explanation for all noobs, like me. Thanks
ynkamat said:
This was an easy explanation for all noobs, like me. Thanks
Click to expand...
Click to collapse
You're welcome!
Warm Regards
kLouD
Sent from my X10i on J's CM7 & DooM's v4 kernel using XDA Premium App
i found this in xperia x10 general section maybe we should have the same thread in our general section
[source] xperia x10 general section from kloud_
I was going through another site & came across a Terminology Guide. I couldn’t find something similar here so just wanted to take it upon myself to create a well organized post providing abbreviations & terminology so that any one, Master or Newbie, can have a quick reference guide to all things droid. I myself do not know everything but I do know some things & I believe with some help from the moderators & contributing members of xda-developers, we can throw together a one-stop-shop for all the droid info.
A special thanks to Sam Fisher at droidforums for the inspiration!!
Thanks to My_Immortal, OmegaRED^ & Spaarc for their suggestions & information shared!
________________
ADK: Android Development Kit, What people use to develop anything for the Android such as ROM's
The ADK (Android development kit) is divided into 3 parts
1. Android SDK (Software development Kit): used to make easy programs which only require touch & some sensors , e.g. Games
2. Android NDK ( Native Development Kit): this is used to Create apps which require Hardware or Use the native binaries & libraries of Android , eg. Camera , CyanogenMod Settings, Oxygen Settings , etc.
3. Android PDK ( Platform Development Kit): As the name suggests this is the main kit which allows to make all ".mk" files (eg. Android.mk , etc) & most of the files found on github
Basically Dev's like FXP , Z , Achotjan , kxhawkins , etc. Use the PDK to make AOSP/CM7 ROMs from source
& Also use NDK to edit the system apk's etc.. to make it stable
adb: Android Debug Bridge, a command-line debugging application included with the SDK. It provides tools to browse the device, copy tools on the device, & forward ports for debugging. If you are developing in Eclipse using the ADT Plugin, adb is integrated into your development environment.
AOSP: Android Open System Project, usually you will see this term when referring to a program or ROM. This will mean that the program or ROM was taken from Google & does not contain any modifications done by the phone Manufacturer or the phone service provider. This is Android the way Google intended.
Baseband or Radio: In communications & signal processing, the baseband describes signals & systems whose range of the frequencies measured from close to 0 hertz to a cut-off frequency, a maximum bandwidth or highest signal frequency; it is sometimes used to describe frequencies starting close to zero
Boot Loader/SPL: In literal terms, boot loader is code that is executed before any Operating System starts to run. The concept of boot loaders is universal to virtually all Operating systems that includes operating systems on your PC, laptop, Smartphone, & other such devices. Boot loaders basically package the instructions to boot operating system kernel & most of them also have their own debugging or modification environment. As the boot loader kicks off before any piece of software on your device, it makes it extremely processor specific & every motherboard has its own boot loader.
Boot Loader/SPL (Unlocked): A locked or unlocked boot loader is what gives you access to “root.” “Root” is another big word in the Android community. If you “root” a device, it means you have “super user” access or “administrator” access to the operating system that runs on your phone. Root access of your Android device gives you the ability to flash ROMs.
One of the most popular ROMs was created by a team called the CyanogenMod(CM), & their current rom is CM7, which is built on Android 2.3 Gingerbread. What this means is that if you have a phone that has an unlocked boot loader & root access, you can flash the CM7 ROM to your phone with a couple more steps. This also means that you can get access to most of the features in the latest version of Android that is commercially available, without having to wait for your manufacturer or carrier to give you an official update.
Boot Loop: Simply means something is preventing the phone from completing it's boot cycle & is stuck between the boot animation & the unlock screen, creating a looped animation. This is often fixed by either reloading a NAndroid, or Reflashing a ROM from the xRecovery/ClockworkMod Recovery/Flashtool.
Brick or Bricked: Jargon for a completely unrecoverable device, (no more than a brick or paperweight)
Note: It is my understanding that radio will boot first, followed by other systems. So it is IMPORTANT that your radio image/version will work with your SPL image/version. This is the one & only reason for phones being bricked. You cannot brick your phone by flashing a ROM or Boot image or recovery image. Once you flash the wrong radio for the SPL, the only known method of recovery is to send the phone back into SE for repair.
How do I know the phone is hard-bricked? A hard-bricked phone cannot boot into boot loader, recovery, or into normal operation modes. You cannot connect to a hard-bricked phone via adb or fastboot. You can only see one screen on the phone & it will be the first splash screen.
Bug or Software Bug: An Error or flaw in software that produces a failure or unexpected/unwanted result. Typically created from incorrect code, this is why some ROMs are better & smoother running than others because developers have taken the time to input "perfect" code (read put in a lot of hours & hard work)
Busybox: A single multicall binary that packages the functionality of most widely used standard Unix tools, BusyBox provides a fairly complete environment for any small or embedded system.
COMPCACHE: (compressed caching) is, in short, virtual swap, setting aside a certain percentage (usually 25%) of your RAM as 'compressed' swap. Compcache compresses the data that would normally go to swap, then moves it back into RAM, and reverses the process when moving it out of the 'compressed' swap. However, this is a classic space-time tradeoff. You effectively get more RAM from the compression, but it is slower than 'normal' RAM due to the CPU time required to compress and decompress the swapped pages.
ClockworkMod: A recovery program that is often used to apply updates, ROMs, or create a back up or restore a backup file
Dalvik: An open source, register-based virtual machine (VM) that’s part of the Android OS. The Dalvik VM executes files in the Dalvik Executable (.dex) format & relies on the Linux kernel for additional functionality like threading & low-level memory management. The virtual machine is register-based, and it can run classes compiled by a Java language compiler that have been transformed into its native format using the included "dx" tool.
Dalvik Cache: A program cache area for the program Dalvik. Dalvik is a java based virtual machine that is the basis for running your programs (the ones that have the .apk extension). In order to make access times faster (because there's not JIT (just in time) compiler installed by default), the dalvik-cache is the result of dalvik doing a optimization of the running program. It's similar to the prefetch files in Windows.
DDMS: Dalvik Debug Monitor Service, a GUI debugging application included with the SDK. It provides screen capture, log dump, and process examination capabilities. If you are developing in Eclipse using the ADT Plugin, DDMS is integrated into your development environment.
Deep Sleep: A state when the CPU is off, display dark, device is waiting for external input.
De-odex: Apk files have respective odexes that devs use to supposedly save space. Deodexing means you convert it back to a .dex file & put it back inside the apk. This allows you to easily replace files (not having to worry about odexes), but the main point was to deodex services.jar so that you can change all text to different colors (such as the clock color to white) & to deodex services.jar, you need to deodex everything.
Dev. or Developer: An individual that creates, or alters a file in such a manner as to advance the program
Drawable: A compiled visual resource that can be used as a background, title, or other part of the screen. A drawable is typically loaded into another UI element, for example as a background image. A drawable is not able to receive events, but does assign various other properties such as "state" and scheduling, to enable subclasses such as animation objects or image libraries. Many drawable objects are loaded from drawable resource files — xml or bitmap files that describe the image. Drawable resources are compiled into subclasses of android.graphics.drawable. For more information about drawables and other resources.
Fastboot: Protocol used to update the flash file system in Android devices from a host over USB. It allows flashing of unsigned partition images.
Flash: Rewrite the software/firmware on your phone using a computer to "flash" or completely rewrite the memory (ROM) of your phone. This is done using ODIN.
Flash Memory: a program technology that can be electrically erased & reprogrammed
Kernel: The main component of Android operating system.
It is a bridge between applications & the actual data processing done at the hardware level.
The kernel's responsibilities include managing the system's resources (the communication between hardware & software components).
[Usually as a basic component of an operating system, a kernel can provide the lowest-level abstraction layer for the resources
(especially processors & I/O devices) that application software must control to perform its function.
It typically makes these facilities available to application processes through inter-process communication mechanisms & system calls.
Operating system tasks are done differently by different kernels, depending on their design & implementation.]
Manifest File: An XML file that each application must define, to describe the application's package name, version, components (activities, intent filters, services), imported libraries, and describes the various activities, and so on. See The AndroidManifest.xml File for complete information.
Nine-patch / 9-patch / Ninepatch image
A re-sizeable bitmap resource that can be used for backgrounds or other images on the device.
Nandroid or Nandroid Backup: A file typically created in the custom recovery program, such as xRecovery, that is a carbon copy of whatever state your phone is in before a drastic change is made. The file then can be moved onto or off of the SD card for later use in case something should go wrong in the ROM or Update, or a Boot Loop occurs
ODIN: It is the program you can use to flash phones.
e.g. : 'Odin Multi-Downloader v3.95' is used to flash the Samsung Galaxy. It's usually included in firmware packs.
OEM: Original Equipment Manufacturer, the people who actually put together electronic hardware. Also refers to any equipment original to the phone, or produced by the company for the phone
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.
OS: Operating system, I.E. Windows Vista, LINUX or MAC or Android
OTA: Over-the-Air; method T-Mobile, & some other phone companies, uses to update Android phones. The new versions of Android are developed by Google & then released to OEM's, Sony Ericsson in our case. The OEM then writes drivers that enable the new software to work on the phone's hardware. They also develop any specialized UI (user interface), like Timescape & Mediascape, or other software they want to include. Once this is complete, they turn it over to the cell phone company, (e.g.)Tmobile, who then have to do the final checks to make sure the update works, & then distributes it over there data network using their cell transmitters.
Overclocking (OC): Speeding up the CPU past the factory presets to achieve a faster & more responsive device (prolonged run can be injurious to your device, so be careful.)
ROM: Read Only Memory, a program used to make changes to anything from the look of the home screen to icons to custom boot animation
Root: Common word associated with giving a user "super user" access to their phones programming & other various aspects that would normally not be possible, also known as "Jailbroken" for iPhone's, "Administrator Rights" in Windows OS.
Shell or SSH: The shell is the layer of programming that understands & executes the commands a user enters. In some systems, the shell is called a command interpreter. A shell usually implies an interface with a command syntax (think of the DOS operating system & its "C:>" prompts & user commands such as "dir" & "edit"). secure shell or ssh is a network protocol that allows data to be exchanged using a secure channel between two networked devices
SQLite: An embedded relational database management system contained in a relatively small (~275 kB) C programming library. It is multitasking concerning reads. Writes can be done only one-at-a-time. It is a popular choice for local/client storage on web browsers. It has many bindings to programming languages. It is arguably the most widely used database engine, as it is used today by several widespread browsers, operating systems, embedded systems among others
Stock: Simply means an unaltered state, such as when you first purchase your phone fromVerizon/Your Service Provider or when you repair your phone using PC Companion or SE Update Service(SEUS)
SU: "Super user", or root permissions
SWAP: is, in short, virtual RAM. With swap, a small portion of the hard drive is set aside and used like RAM. The computer will attempt to keep as much information as possible in RAM until the RAM is full. At that point, the computer will begin moving inactive blocks of memory (called pages) to the hard disk, freeing up RAM for active processes. If one of the pages on the hard disk needs to be accessed again, it will be moved back into RAM, and a different inactive page in RAM will be moved onto the hard disk ('swapped'). The trade off is disks and SD cards are considerably slower than physical RAM, so when something needs to be swapped, there is a noticeable performance hit.
Unlike traditional swap, Android's Memory Manager kills inactive processes to free up memory. Android signals to the process, then the process will usually write out a small bit of specific information about its state (for example, Google Maps may write out the map view coordinates; Browser might write the URL of the page being viewed) and then the process exits. When you next access that application, it is restarted: the application is loaded from storage, and retrieves the state information that it saved when it last closed. In some applications, this makes it seem as if the application never closed at all. This is not much different from traditional swap, except that Android apps are specially programed to write out very specific information, making Android's Memory Manager more efficient that swap.
Theme: A set of icons, backgrounds & app trays that change the aesthetics of the overall look of the Android & its applications. It has a set of properties (text size, background color, and so on) bundled together to define various default display settings. Android provides a few standard themes, listed in R.style (starting with "Theme_").
TUN/TAP: Refers to a network TUNnel, operates within layer 3 packets, or ip packets. Packets sent by a system via a TUN/TAP device are delivered to a user-space program that attaches itself to the device. A user space program may also pass packets into a TUN/TAP device. In this case TUN/TAP device delivers (or "injects") these packets to the operating system's network stack thus emulating their reception from an external source.
Underclocking(UC): Slowing down the CPU mainly to limit battery usage
Undervolting(UV): Basically keeping the clock speed same (or overclocking it) & reduce the voltage at each cpu cycle.
xRecovery: A recovery program based on the ClockworkMod Recovery sources used to apply updates, ROMs, or create a back up or restore a backup file
File Types:
.dex: Compiled Android application code file. Android programs are compiled into .dex (Dalvik Executable) files, which are in turn zipped into a single .apk file on the device. .dex files can be created by automatically translating compiled applications written in the Java programming language.
.sbf: Summation Briefcase File
.apk or APK's: An .apk file extension denotes an Android Package (APK) file, an .apk file can be opened & inspected using common archive tools. 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. For example: myExampleAppname.apk. For convenience, an application package file is often referred to as an ".apk".
.tar: Similar to a zip file(derived from tape archive), a tar file archives multiple files into one file
.tgz: TGZ files (gnu-zipped .tar file) are commonly used as install packages for Slackware Linux.
pheeeeww!!This took sometime!!
Well this is all I can think of off the top of my head but as I think of more I will edit them in here & I encourage the mods to put things that I either forgot or just simply am not aware of. Also I request fellow user to suggest any terms frequently used & not added or any discrepancies found, kindly PM me!!
Thank you & happy hacking/flashing!!
_____________________________________
X10 LED States:-
--------------------------------------
W-LOD: White LED of DEATH.
--------------------------------------
Sometimes a R-LOD is similar to a W-LOD but the LED is red instead.
Usually results in a Reboot, or a Freeze or a Crash
-------------------------------
Flashing R-L: Red LED.
-------------------------------
Led flashes RED 3 times.
Indicates Requirement for Charge
--------------------------------
G-LS: Green LED Steady.
--------------------------------
LED goes Steady GREEN while USB is plugged in.
Flash Mode Entered/Fully Charged.
CPU : -
----------------------------------------
Central Processing Unit: -
----------------------------------------
It's pretty much the heart of your device pumping data through & from all the attached devices the Kernel & Modules is its soul & it's OS is it's skin & flesh.
-----------------------
Core Clock Speed: -
-----------------------
It is the actual clock speed that the CPU is running at. "Not the multiplied speed."
It's good to remember a CPU's performance is also effected by its memory's speed.
Similar rules exist for the GPU (Graphics Processing Unit).
Tnx for the info. This very useful specially to us noobs....
Sent from my E15i using xda premium
Everyone browse this forum must read this at least one time!!!!!!!!!!
Sent from my X8 using xda premium
AOSP: Android Open System Project, usually you will see this term when referring to a program or ROM.
Click to expand...
Click to collapse
AOSP is Android Open Source Project
posted via Tapatalk 2 Beta
Thanks for sharing.
Sent from my E15i using Tapatalk
we decided to extend this guide in more threads, to give new users the chance to read more easily
Hi! I saw that many (myself initially) fail to understand the discussions of various topics of modding on this and other forums because of certain terms that are now characteristic of speech in any argument.
-Android operating system for mobile devices based on Linux kernel. Android is an open source project developed by the Open Handset Alliance (OHA). Google was the first company to work on Android and HTC has designed and implemented the first Android phone.
-ADB (Android Debugging Bridge): application via command line (command prompt, DOS), is used to flash rom, make changes to the system, backup, install applications (using the command: adb push nomeapp.apk / system / app /), copy files from your device to PC (via the command: adb pull / path / inside / of / Android / filename nome_file_destinazione) and more. ADB is a tool included in the SDK of Android that allows you to manage your phone simply by connecting it via USB. For programmers, ADB is also used to execute commands on a virtual machine Android. detailed instructions.
- Apk (short for Android Package): is the file format used to install the Android software (it works similar, more or less, that is for Windows. Exe). Renaming the extension of this file. Zip you can open it with any operator of compressed files.
-App or Apps: abbreviation of the term application or applications
-App2sd (A2sd): procedure inherent in many Roma coocked, to move applications installed, or install later, the memory card instead of phone memory. to use it you must have an ext2 or ext3 or ext4 on the memory card. part of the application (the Dalvik cache) is still stored in the smartphone does not reduce the speed of execution. app2sd this is not to be confused with the various applications on the market, as those of the market allow the movement or storage of only applications that allow it.
-Bootloader (FASTBOOT): phone mode (while connected to USB mode with usb debug enabled) through which you can do many things, including obtaining root permissions, flash ROM, make backups, pushare files, remove files etc. ... the bootloader mode varies from terminal to terminal, refer to those sections for how to go into bootloader on your device.
-Brick (brickare, brickato): literally (translated in Italian) "BRICK". making the cell like a brick, a something of unusable if not as paperweights.
-Digital compass: The digital compass is able to detect the direction in which the device is pointing. This information can be used together with an appropriate mapping software to assist in navigation to unknown places.
-BusyBox: BusyBox is important because it lets you install it on your Android poteziare with many basic Linux commands. In fact, some powerful programs, such as Titanium backup and others, use busybox to carry out the instructions. In virtually a few kb there are so many beautiful little programs. guide: using titanium or backup.
-Cache: a temporary memory in which data are stored as may be eliminated without compromising the functionality of the system.
-Digital certificate: encrypted code issued to two or more parties by an authorized organization, and used to verify the identity of those parties by exchanging their public keys.
-Cupcake: Android 1.5 or relaise first official operating system pounces April 13, 2009
-Encryption: Procedure for the encoding of a systematic bit stream before transmission, aimed at avoiding that the contents can be decrypted by third parties.
Dalvik-Cache: cache used by the system to increase the execution speed of programs.
USB-Debug: mode of Android that is (turning the feature on your device via menu / settings / apps / Development / Debug USB) to allow the system to undergo special modifications.
Direct-Push Technology: Direct Push technology (push e-mail capabilities), developed by Microsoft, lets you receive new e-mail messages on their device, they are not received by your mailbox Inbox or Exchange Server. Items such as contacts, calendar and tasks are immediately updated on the device if they are changed or added on the Exchange Server.
-Emulator: it is found in the SDK and is a software that allows you to emulate (simulate) an android device. usually serves to developers (developers) to test applications.
-Digital Signature: A digital signature assures the recipient about the identity of the person who sent the file, and the absence of alterations made after signing this.
-Firmware: Software comlpleto the phone, android rom often contains (the only operating system) the radio (software designed to handle all communications) and hboot (the part on the base, and boot management and partition of the phone) . The format depends on the parent company that issues them and shall be flashed through the tool or program.
-Flash (flash, flashed): install, installed.
-G. E. often written or GE (Google Experience): There are those phones that have the OS (see ROM for a definition) fully developed by Google without any addition or customization by the manufacturer that sells the device (for example the number of mobile Nexus is entirely GE). This designation often means that these phones are the first to receive updates of new versions of Android, because there being no additional software, as well as those developed by Google, the release is much quicker.
Another (more common) is that With Google.
Are those phones that despite having some customization software by the manufacturer, are fully compatible with the Google software and services with Android.
-GPRS: GPRS (General Packet Radio Systems - Radio systems for generic packages) is a data service for mobile devices. It is available for the devices that meet the GSM standard.
-GPS: GPS (Global Positioning System - Global Positioning System) is a radio navigation system based on satellites that allows the DENTIFICATION of a geographical position through a triangulation of points. The GPS is used on mobile devices for applications software for navigation.
-GSM: Short for Global System for Mobile communications (Global System for Mobile Communications), is the platform for mobile computing worldwide.
-HSDPA: HSDPA (High-Speed Downlink Packet Access) is a technology for mobile devices that allows higher data speeds than traditional networks. Often referred to as 3.5G for faster downloading.
-HSPA: HSPA (High-Speed Packet Access - High Speed Packet Access) is a technology for mobile devices that improves the speed at which you can send and receive information on their mobile device. HSPA technology is used in 3G networks.
HSUPA: The HSUPA (High-Speed Uplink Packet Access - access to packages for the high-speed) is a technology for mobile devices that provides (along with HSDPA) the possibility of having connections with fast download and upload very high by optimizing use of bandwidth.
-HVGA: The HVGA (Half-size Video Graphics Array) indicates a particular display resolution of 480 x 320 pixels.
-hboot: the part on the basis of partition and boot management and the phone
-Kernel: is the essential part of any operating system. Without going into technicalities, it manages hardware (drivers and other information about the hardware, for example). Android uses a modified Linux kernel and is entirely open source (ie source code is freely available and modifiable).
- Launcher: It 's the software that handles the desktop (icons, widgets, wallpapers etc..) Android operating system. In essence, is what appears when you access the phone after the unlock screen, called Lock Screen (see below) if it is enabled.
Android allows for excellent customization Lacuncher. Although all versions of Android will already have a default, it is possible (when this option is not blocked by the manufacturer) install as many as you want from those in the Market. Launcher The best known of those owners are not ADW Launcher, Launcher Pro, Helix Lancher.
Most producers customize more or less heavily, their phones (as long as they are not GE, see above), and modification of the launcher is usually the most common personalization. Motorola for example sviluppaMotoBlur (non-removable, and includes an additional set of changes including the Launcher), the HTC the Sense (removable; this also includes modifications to the deepest only launcher which also include the framework), Samsung TouchWiz the (removable) etc..
The change of Lacuncher makes it very often no longer available widgets developed for another Launcher.
-Leak Leaked or (escaped): this refers to the ROM or firmware that (strangely) escape to the Mother House, and is circulated on the net. are semi-official, in the sense that they are developed directly from 'manufacturer, but are not officially released (and therefore not fit to restore the guarantee of a device).
Screen-Lock or unlock screen: is the screen that appears after turning on and / or whenever you press the on / off the phone. Used to not press the keys when not using the phone. It requires a combination of specific touches, or gestures to be "removed"
-Nandroid (found in the recovery as amended): application that creates an image of the entire operating system, like norton gost and true image for windows.
-ODEX: type of compression that is used to free up memory and speed up your system. ODEX unzip the file compresses everything and creates a file. ODEX dall'apk deleting the file. dex then you end up with after launcher.apk and launcher.odex (so 'you have saved so much space and improved
the speed reading application). rom the ODEX can not be changed the subject.
-OTA: Over The Air - system that allows applications to receive updates directly from the network or system
Ext2/ext3/ext4-partition: partition on the memory card (which usually can be made using modified recovery) used to install applications on this media instead of filling up the phone memory. the ext is a type of file system used on Linux and is seen as part of the Android smartphone's internal memory. to partition the SD card in the sections and guides for your device.
-Profile A2DP: Advanced Audio Distribution profile (Advanced Audio Distribution) is a specification that refers to how two Bluetooth devices can transmit and receive streaming high quality audio. The A2DP allows the transfer of a unidirectional stream audio in stereo with two channels, such as music from one phone to a headset.
-Pull: used command in command prompt (eg adb pull / path / inside / of / Android / filename nome_file_destinazione) copy to your PC for a file or folder in the Android system.
Radio-or banda or baseband (not the FM radio): software designed to manage all the communications device (phone, wifi, bluetooth, gps, etc. ...
-Recovery: a kind of mini operating system that is used to retrieve the cell from critical situations (brick, malfunction, etc. ....), do nandroid backup, perform the wipe, flash rom coocked and file format. Zip. The Recovery is properly called Recovery Mode and means the recovery mode in which you can perform actions such as, installing updates, format the phone, format and partition the SD and more. Updating the recovery.img (you can also do without the root) with a different and we have modified provisions advanced features without having to do other steps.
-RSS: RSS (Really Simple Syndication - Guild simple): indicates an Internet protocol used to distribute information that is updated frequently, such as a blog on the Internet, audio or video broadcasts or news headlines.
-Rom: the operating system. coocked roms are usually in. zip and go through recovery flashate
Coocked-Rom: cooked rom, created by chefs (who put together parts of rom applications, modifications, patches and so on) composed and enriched with new features
-ROOT (I take verbatim from androidpedia): What is root? In Unix-like operating systems is denoted by the root user with the highest privileges, ie, system administrator, also known as super user or superuser. (Cited in Wikipedia). Android being a linux system, then the user is root, which allows you to have total control of the phone. What a privilege we have to have root permissions? We have TOTAL control of the telephone. rootare the procedure for your device varies from terminal to terminal, consult the relevant sections to find out how to make your root device ..
G-sensor (gyro): The G sensor detects the position and movement of your device. It helps to orient the display to view both vertically or horizontally depending on how you hold the device. The G-sensor can be used in games to control the actions and other applications that require a movement to be able to be activated.
-SDK (software development kit): Software development kit, which we find in the tools folder that contains the file ADB. You can download it from for all platforms (Windows, Linux, Mac OS).
-S.O. (operating system): see ROM. In fact ROM and SO tend to coincide but while the first term is used to indicate the contents of any memory or the memory itself (it is in fact for Read Only Memory), the second indicates more specifically at a very specific piece of software and not any content that a memory can accommodate.
-Streaming: The term indicates the transmission of streaming audio or digital video using the Internet.
-Superboot: method to become the superuser (root-administrator) of your smartphone, with which you can make changes to the system, such as flash ROM, modify system folders etc. ...
-Tap (capped, plugged): equivalent of left-click on PC, then click in, clicked. TAP LONG = equivalent to right click on pc
-Thetering (wifi, bluetooth and usb): Mode is a connection between the phone is another device (mostly PC), through which you can take advantage of the internet's first, and basically use it as a modem, the second ( which as I said before can be a PC or another phone yet). May be predominantly via USB connectivity, bluetooth or wifi phone.
-Tablet is a tablet device that differs from a smartphone to the screen size (usually greater than the 5 "and for its strong propensity to navigation and document management. It usually does not incorporate a module for telephone calls (one exception is the Galaxy Tab), but often have a data connection via 3G or 4G as well as the WIFI.
Google has developed a special version of Android, called HoneyComb (3.X) for release in 2011. Nevertheless, there are Tablet with Froyo.
-VGA The VGA (Video Graphics Array) indicates a resolution of the display of 640 x 480 pixels.
-WCDMA: The WCDMA (Wideband Code Division Multiple Access) is a protocol for the transmission of data in a 3G cellular network.
-WVGA: The WVGA (Wide Video Graphics Array) indicates a display resolution of 480 x 800 pixels.
Wipe Dalvik-CACHE: reset the system cache. amended by recovery takes place.
Wipe-DATE (factory reset): hard reset (reset phone to factory settings, deletes all data and applications in your phone, no memory card). some recovery in the wiping the data format factory, not a complete hard reset, but a reset of all data in your phone, for a complete hard reset you should also wipe the system and boot from the recovery of the advanced settings or proceed with the procedure manual keystroke! how to do the hard reset via keyboard shortcut see the guides in their respective sections of your smartphone.
-ZIPALIGN: A form of compression that is used to speed up execution of applications. zipalign unzip the file and aligns the compressing apk file limit so 4byte 'Android takes up less ram to read and read more' quickly and then recreates the file. apk ^ ^
If you know other terms that do not understand, this thread is yours.
P. S. I hope to be helpful
I know all of this personally but this is a very useful guide for noobs and should be made a sticky.
jonny68 said:
I know all of this personally but this is a very useful guide for noobs and should be made a sticky.
Click to expand...
Click to collapse
+1
Sticky plz
Sorry but:
-Bootloader (FASTBOOT): phone mode (while connected to USB mode with usb debug enabled)
Is wrong. Bootloader and fastboot are not the same. Also USB debugging mode is an android thing, when you are not booted into android (eg into fastboot or bootloader) then usb debugging mode is not used
rootSU said:
Sorry but:
-Bootloader (FASTBOOT): phone mode (while connected to USB mode with usb debug enabled)
Is wrong. Bootloader and fastboot are not the same. Also USB debugging mode is an android thing, when you are not booted into android (eg into fastboot or bootloader) then usb debugging mode is not used
Click to expand...
Click to collapse
This.
And debug has to do with adb not fastboot.
Sent from my GT-I9300 using xda premium
if you have to add terms or tips, write
So, I am currently messing around with android programming, and i am using android studio and my ide of choice. I have made a few simple apps(calculator and whatnot) without issue. But now i am trying to make an app using the youtube data api. I can not even get started on it though because i cant get the api to work. Heres what i have done so far.
I have taken the api zip file and unzipped it. This produced an youtube folder. I than copied this folder to the libs folder in my project. This caused no issues in and of itself.
I than tried to add some imports based on the api and that caused an syntax error
To fix that error i added the following lines to the build.gradle in the dependencies section at the bottom
Code:
compile fileTree(dir: 'libs/youtube', include: '*.jar')
compile fileTree(dir: 'libs/youtube/libs', include: '*.jar')
This fixed the syntax errors and also allowed it to build successfully
The issue comes when I try to actually add something based on the api. When i add the following lines of code...
Code:
/** Global instance of the HTTP transport. */
private static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
/** Global instance of the JSON factory. */
private static final JsonFactory JSON_FACTORY = new JacksonFactory();
/** Global instance of Youtube object to make all API requests. */
private static YouTube youtube;
there are no syntax errors, but when i attempt to build it I get a single error
Code:
Gradle: Execution failed for task ':ApiTest2:dexDebug'.
> Failed to run command:
/Applications/Android Studio.app/sdk/build-tools/android-4.2.2/dx --dex --output /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/build/libs/ApiTest2-debug.dex /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/build/classes/debug /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/build/dependency-cache/debug /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-servlet-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-oauth-client-servlet-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-protobuf-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-http-client-jdo-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/google-api-services-youtube-v3-rev70-1.16.0-rc-sources.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/transaction-api-1.1.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-http-client-appengine-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/jackson-core-asl-1.9.11.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/protobuf-java-2.4.1.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/httpclient-4.0.1.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-oauth-client-java6-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/gson-2.1.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-http-client-gson-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/commons-logging-1.1.1.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-http-client-android-1.16.0-rc.jar /Applications/Android Studio.app/sdk/extras/android/m2repository/com/android/support/support-v4/13.0.0/support-v4-13.0.0.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/jackson-core-2.1.3.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-gson-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/google-api-services-youtube-v3-rev70-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-oauth-client-java7-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-android-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/jetty-util-6.1.26.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-http-client-jackson-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/httpcore-4.0.1.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/jetty-6.1.26.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-oauth-client-jetty-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-oauth-client-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/jdo2-api-2.3-eb.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-oauth-client-appengine-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-http-client-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/google-api-services-youtube-v3-rev70-1.16.0-rc-javadoc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/jsr305-1.3.9.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-appengine-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-java6-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/xpp3-1.1.4c.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-http-client-jackson2-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-jackson2-1.16.0-rc.jar
Error Code:
1
Output:
trouble processing "javax/transaction/HeuristicCommitException.class":
Ill-advised or mistaken usage of a core class (java.* or javax.*)
when not building a core library.
This is often due to inadvertently including a core library file
in your application's project, when using an IDE (such as
Eclipse). If you are sure you're not intentionally defining a
core class, then this is the most likely explanation of what's
going on.
However, you might actually be trying to define a class in a core
namespace, the source of which you may have taken, for example,
from a non-Android virtual machine project. This will most
assuredly not work. At a minimum, it jeopardizes the
compatibility of your app with future versions of the platform.
It is also often of questionable legality.
If you really intend to build a core library -- which is only
appropriate as part of creating a full virtual machine
distribution, as opposed to compiling an application -- then use
the "--core-library" option to suppress this error message.
If you go ahead and use "--core-library" but are in fact
building an application, then be forewarned that your application
will still fail to build or run, at some point. Please be
prepared for angry customers who find, for example, that your
application ceases to function once they upgrade their operating
system. You will be to blame for this problem.
If you are legitimately using some code that happens to be in a
core package, then the easiest safe alternative you have is to
repackage that code. That is, move the classes in question into
your own package namespace. This means that they will never be in
conflict with core system classes. JarJar is a tool that may help
you in this endeavor. If you find that you cannot do this, then
that is an indication that the path you are on will ultimately
lead to pain, suffering, grief, and lamentation.
1 error; aborting
And i am not sure why this is happening. I am sure I am doing something wrong, but I havent found anywhere online where i shows how to do this exactly and through all my tinkering i havent gotten it to woerk.
Any help
Anyone have any ideas? Over 100 views and no replies
Hi,
although I haven't face the same problem, I think I can analyze your problem.
It's because dependencies in your gradle.build
You can't declare 2 "compile"(s) statement like what you've done.
Code:
compile fileTree(dir: 'libs/youtube', include: '*.jar')
compile fileTree(dir: 'libs/youtube/libs', include: '*.jar')
That's wrong, though I don't know how to solve that given that I'm still learning about it.
I thought that these links can help you solve it:
- http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
- http://www.gradle.org/docs/current/userguide/dependency_management.html
JoshieGeek said:
Hi,
although I haven't face the same problem, I think I can analyze your problem.
It's because dependencies in your gradle.build
You can't declare 2 "compile"(s) statement like what you've done.
Code:
compile fileTree(dir: 'libs/youtube', include: '*.jar')
compile fileTree(dir: 'libs/youtube/libs', include: '*.jar')
That's wrong, though I don't know how to solve that given that I'm still learning about it.
I thought that these links can help you solve it:
- http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
- http://www.gradle.org/docs/current/userguide/dependency_management.html
Click to expand...
Click to collapse
curious if either one of you figured it out.
If you are trying to use youtube api add the following line to the gradle build.
Code:
compile 'com.google.apis:google-api-services-youtube:v3-rev107-1.18.0-rc'
You dont need to download and copy the youtube project into your project.