I'm thinking about creating an application ( based on GScript ) that allows Rom developers to add the ability for rom developers to run shell scripts after the actual rom is flashed and to allow the user to run some rom-specific scripts.
I don't know if there is any need for this by any of the devs, but i have seen TwistedUmbrella used GScript Lite to add some scripts to his build, so that people don't have to ask the same question on how-to run the scripts ( and commands ) over and over.
Although GScript can be easily used for it I think that a special project could offer much more then this and the actual output can be a lot user friendly when its less generic ( i have done the same for the LucidREM script application which can be found in the market ).
And maybe the ability to run some scripts when the actual rom is started the first time after flashing etc.
If you think this could be useful in rom deployment or you have ideas/feature requests etc please drop a post so i know if its worth the work.
like UC
Kinda like UC for windows mobile (I said kinda)? I suppose it could have its uses. First thing that comes to mind is automatic restoration of sms, wep settings, etc.. after a wipe. One thing I like about the g1 is it so easy to build and customize your own builds in comparison to winmo (from a development standpoint). Well, depending on how you look at it I guess.
Curiously, If a function or program like this existed already, what uses would you get from it.
Edit)
I suppose it could be useful afterall. I drew a blank when I initially read your post because everything I run from a script or terminal for that matter is because I'm not behind a computer. If I'm gonna modify something it can be implemented in the update.zip before flash ect.. but if I'm flashing a new rom and I want the dalvikvm updated, louder sound mod, Odex optimized, etc to be done from the first boot I guess it'd be cool. But usuall i'd implement it in an update.zip. I donno I don't think I'm thinkin creatively enough about its uses.
We could create an easy way to backup/restore sms mms bookmarks etc, which can be started before updating and which will run to restore when the image is flashed.
Automatically create the apps2sd settings etc after a flash.
Or even create "smaller"-distributions which asks if the user wants to download extra applications after reflashing...
We could even incorporate google source projects so that users can look for and report issues from within the app for the given distribution.
An easy way to bring out small updates without users having to reflash or have to do manual stuff
Just shooting out some ideas....
I love this idea, I'm a huge supporter for GScript so this only seems natural. Since I use gscript after wipes/loading custom roms ANYWAY it'd be awesome if the process was automated. Chances are people are going to want to restore previous settings and info when they load new roms. I hope more Rom devs see this. So mildly bumping for notice.
Eventually user support will be deciding for developers to use it or not...
I will have a test application finished in a few days.
I will post the first screenshots tomorrow if i will find some time...
Newbie Quick Start
UPDATES
[Info] For Newbie What It Is It Mean? All Your Answare Are Here Part I
[Info] For Newbie What It Is It Mean? All Your Answare Are Here Part II - 29th December 2011, 07:54 PM
[Info] What Is Odex And Deodex In Android - 24th January 2012, 03:07 PM
[Info] What Is Zipalign In Android And How To Make Apps Zipaligned - 24th January 2012, 03:18 PM
Click to expand...
Click to collapse
USER REVIEW'S ABOUT THIS THREAD IN JUST SOME MINUTES
m.kochan10
Really good idea! IT should be sticky!
-----------------------------------------------------------------------------
rajanprash
Hi Sbxlive,
Thanks for all the info on the Galaxy R.
I am getting the device today.
I wanted to know if thr GR has NFC and MHL. As far as I know no review states that these features are present on the Galaxy R.
Thanks.
Click to expand...
Click to collapse
I Created This New Thread Because Of When I Entered In XDA With My Galaxy R ,I Really Don't Know About Above This Things And I Thought Daily New Members Are Coming In XDA With Their Devices And Facing Thats Problems Also So I Help This Buddies As I Do. So Lets Go On The Worlds
ITS SIMPLE BASIC BUT IMP MY FRIENDS SO PLEASE READ IS CAREFULLY YOUR DEVICE IS YOUR PART OF YOUR LIFE I THINK SO
OTG USB On-The-Go
USB On-The-Go, often abbreviated USB OTG, is a specification that allows USB devices such as digital audio players or mobile phones to act as a host allowing a USB flash drive, mouse, or keyboard to be attached.
Click to expand...
Click to collapse
NFC
Near field communication (NFC) is a set of standards for smartphones and similar devices to establish radio communication with each other by touching them together or bringing them into close proximity, usually no more than a few centimetres. Present and anticipated applications include contactless transactions, data exchange, and simplified setup of more complex communications such as Wi-Fi.Communication is also possible between an NFC device and an unpowered NFC chip
Click to expand...
Click to collapse
OC
Over Clock (more clock cycles per second)
Disadvantages
Many of the disadvantages of overclocking can be mitigated or reduced in severity by skilled overclockers. However, novice overclockers may make mistakes while overclocking which can introduce avoidable drawbacks and which are more likely to damage the overclocked components (as well as other components they might affect).
Click to expand...
Click to collapse
ROOT
Rooting is a process that allows you to access the workings of your phone that the phone provider does not want you to. It allows you to changed settings, functions, whole operating systems, make upgrades etc......
You can leave the "Stock" OS behind and get the most out of a phone. IT DOES VOID YOUR WARRANTY.
Click to expand...
Click to collapse
KERNEL
In computing, the kernel is the main component of most computer operating systems; 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.
Click to expand...
Click to collapse
MHL
Mobile High-Definition Link (MHL) is a proposed industry standard for a mobile audio/video interface for directly connecting mobile phones and other portable consumer electronics (CE) devices to high-definition televisions (HDTVs) and displays. The MHL standard features a single cable with a low pin-count interface able to support up to 1080p high-definition (HD) video and digital audio while simultaneously charging the connected device.
Click to expand...
Click to collapse
CWM
ClockWorkMod - A utility for Android used to flash zip files containing Android ROM distributions on an Android mobile phone. It also allows the user to create or restore backup files containing a whole installation of a ROM, including system, application and user files.
Click to expand...
Click to collapse
ROM
Technical Definition of ROM
ROM stands for Read-Only Memory and technically speaking, it refers to the internal storage of a device, which is supposed to contain the operating system instructions that needn’t be modified at all during the device’s normal operation. For this reason, such instructions are stored in read-only memory – much like on a non-rewriteable CD or DVD – to make sure no changes are made to them that could possibly make the device malfunction. This is in contrast with hard disk drives, solid state drives or regular flash storage devices used by personal computers that allow full read/write access even to the storage area that contains the operating system files.
Click to expand...
Click to collapse
What is Firmware
The read-only operating systems that we just discussed above are also called ‘firmware’, as they stay firmly in place without modification access to the users of the device. Modification of firmware is still however possible, just not under normal usage. Many devices require specialized hardware to be used for the purpose while other devices have the storage set as read-only through software protection only, which can be removed or overridden without the need for any specialized hardware, just by using software written for the purpose, often but not always requiring connection to a computer.
Click to expand...
Click to collapse
Thus, the terms ‘operating system’ and ‘firmware’ both refer to the same thing and can be used interchangeably when applied to such devices.
Click to expand...
Click to collapse
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. As explained above, it is read-only under normal usage and requires a special procedure for any modifications to be made to its contents. The procedure of modifying or replacing the contents of such flash memory is known as flashing. Thus, in layman’s terms, flashing is essentially the same as installing or modifying the firmware of a device that is stored on its protected flash memory.
Click to expand...
Click to collapse
ROM as the Operating System
When it comes to smartphones and tablets, the term ROM is used to refer to the firmware stored in the internal memory of the device, rather than the internal memory itself. It can also refer to a file prepared for the purpose of replacing this firmware with another version of using a special method.
Thus, when you are told by someone to download a ROM, they are referring to the file that contains the firmware in a format ready to be installed to your phone to replace it’s existing firmware. Similarly, when asked what ROM is your phone running or when told by someone their phone is running a particular ROM, they are again talking about the particular variant of the firmware.
Click to expand...
Click to collapse
Types of ROMs
Unlike most desktop operating systems, mobile operating systems can be found in installable format in multiple forms, which can be categorized as follows.
Truly Stock ROMs / firmware:
This is the operating system in its default form, without any modifications made to it except for any device-specific support required to run it on the particular device. Truly stock firmware provides the standard user experience of the operating system without any cosmetic or functional changes made. These days, truly stock firmware is primarily found in cases where both the device and the operating system is built by the same company. Amongst modern mobile devices, examples of truly stock firmware can be found on Apple’s iOS devices, Palm’s WebOS devices and some Android devices shipped without any modifications made to the operating system by their manufacturers.
Click to expand...
Click to collapse
Manufacturer or Carrier branded Stock ROM / Firmware:
This type of firmware has had enhancements added over the default operating system by the device manufacturer or the mobile service carrier. This often includes interface enhancements, proprietary applications and in most cases, restrictions intended to limit the use of the device with a specific carrier or region. There are often further restrictions preventing installation of firmware not released by the carrier or manufacturer.
Most Android and Symbian devices fall under this category, and so do most Windows Phone 7 devices but in their case, the changes made from the truly stock firmware are minimal and limited to the inclusion of additional apps only.
Click to expand...
Click to collapse
Custom ROM / firmware:
Almost all devices ship with either of the above two categories of firmware, though things don’t end there. Independent developers who like to customize their devices beyond the standard options provided often tend to release the fruits of their labor for the rest to enjoy, in form of custom ROMs. The more open the platform, the more independent development it attracts, a good example of which is the independent custom ROM development for Android.
Click to expand...
Click to collapse
In case of proprietary firmware such as iOS and Windows Phone 7, there is often little or no room for customization of the operating system itself but regardless of that, developers still tend to release custom ROMs bundled with useful tools and hacks applied to provide functionality beyond the stock features. In fact custom ROM development for the otherwise proprietary and closed-source Windows Mobile platform lead to the formation of the largest independent mobile development community – the XDA-Developers forum.
Click to expand...
Click to collapse
Stock Vs. Custom ROMs
Both stock and custom ROMs have their merits and demerits and choosing between the two requires careful consideration. In this section, we are going to make a comparison between the two types of ROMs to help you make the right choice. Let us begin by taking a look at their advantages and disadvantages.
Do note that this section is written with primarily Android (and now obsolete Windows Mobile) devices in mind. However, the many of these concepts will also apply to other smartphone platforms.
Click to expand...
Click to collapse
Advantages & Disadvantages of Stock ROMs
Stock firmware is the result of a lot of research and testing done by the operating system vendor, the device manufacturer and/or the mobile service carrier. Therefore, it carries several advantages:
It is usually quite stable upon release.
Almost all bugs are patched during the extensive beta testing before release.
It carries the official support by the firmware vendor, device manufacturer and the mobile service carrier.
Updates are pushed automatically to the device by the carrier.
Along with its advantages, stock firmware also carries its disadvantages and these include:
Updates aren’t frequent, as development is done mostly by corporations who have to follow a scheduled release cycle.
Providing feedback to the manufacturer in case of any issues is either impossible, unwelcome (often with Apple devices), or a long, tedious process.
Similarly, getting official support can be a hassle as well, involving a tedious process.
If the device manufacturer and operating system developer are different (as is the case with Android and Windows Phone 7), any updates released by the operating system vendor need to be edited by the device manufacturer or mobile carrier to add compatibility and additional software before release. Hence, some devices get updates delayed by months.
Updates are often released first in the United States, leaving the rest of the world waiting. (A world does happen to exist beyond the United States, we’ve confirmed it ourselves!)
Worse still, when manufacturers choose to no longer release official updates for their older devices in favor of newer ones, their users are essentially stuck with old versions of the operating system. This case is evident with many Android devices barely a year and a half old.
Several OS developers, device manufacturers or mobile service carriers add
restrictions in the stock firmware ranging from locking the use of the device with one network/region to disabling sideloading of apps (we’re talking about you, AT&T) not available in the official app market, to advanced restrictions removing any chance of getting root access, just to name a few.
Click to expand...
Click to collapse
Advantages & Disadvantages of Custom ROMs
Custom ROMs are as good or as bad as the effort put into them by their developers. Key advantages of custom ROMs are:
First and foremost, choice! There are thousands of custom ROMs out there for a range of devices, each offering a diverse set of features not found in the stock ROM.
Update frequency – custom ROMs are often under active development and newer releases of the core operating system are incorporated in them way before updated official ROMs are released. This is particularly true in case of Android devices, where developers start porting newer versions of Android to several devices as soon as they are released.
Providing feedback is as easy as leaving a message on the development forum for the ROM in question, resulting in highly efficient bug reporting.
Getting support with your issues at the forums is similarly easy, as not only the main developers themselves but also other experienced users of the ROM from the community are glad to help you with your issues and in the process, improve the ROM for everyone.
Custom ROMs usually have all the extra restrictions removed, enabling users to sideload apps, tether their mobile data connection to their computer without paying extra for it, gain root access, use their device in any region etc. without any need for circumventing the protection themselves.
Performance enhancements and optimizations found in many custom ROMs can make them much faster than stock ROMs, enabling users to get the most out of their devices.
Overclocking options are built into some custom ROMs, further speeding up the devices.
Undervolting options found in some ROMs on the other hand result in improved battery life.
Old phones with little internal memory can benefit most from custom ROMs that allow them to use the external SD card memory for the apps exactly the way they would use the internal memory.
So with all these advantages, there should be no reason to stick with the stock ROM, right? Not necessarily! Like all things in life, custom ROMs come with their disadvantages as well:
Due to the lack of extensive testing prior to release, many custom ROMs can be buggy in the beginning and installing a ROM with missing or corrupt critical files can even brick your phone.
Several custom ROMs that are ports of ROMs from other phones can have missing functionality that hasn’t been made to work on your phone with the ROM yet.
Installing a custom ROM usually involves wiping your phone to factory settings, so you lose your data and start from scratch. Fortunately, Android’s built-in contact syncing along with apps offering message, call log and app backup/restore make this process easier, letting you retain your data.
The installation process itself can be cumbersome and may require you to root your phone and often circumvent its security features to allow for custom ROM installation in the first place.
Installing a custom ROM will in most cases void your phone’s warranty, though often the process is reversible, meaning you can turn your phone back to stock as long as it isn’t bricked.
Installing a ROM to your phone requires you to root it first in most cases. While rooting most phones is easy, some phones require a complicated procedure to be followed before you can install a ROM to it and often, such procedures involve a risk of bricking your device if things go wrong.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Click to expand...
Click to collapse
------------------------------------------------
I THINK THIS THREAD HELPED YOU MUCH MORE AS YOU KNOW IT WILL KEEP UPDATING WITH NEW WORDS SO KEEP IN TOUCH AND DONT FORGET TO SAY THANKS OR REPLY
IF YOU HAVE SOME SUGGESTIONS OR ANY QUERY"S PM ME OF REPLY
Click to expand...
Click to collapse
DONT FORGET TO CLICK ON THANKS
Really good idea! IT should be sticky!
Thanks for the Info.
Hi Sbxlive,
Thanks for all the info on the Galaxy R.
I am getting the device today.
I wanted to know if thr GR has NFC and MHL. As far as I know no review states that these features are present on the Galaxy R.
Thanks.
m.kochan10 said:
really good idea! It should be sticky!
Click to expand...
Click to collapse
t-t i can not understand my english very poor
Thank you.It makes a huge contribution to new users to understand Android.
No problem mys199156 Sticky thread means in this context "fixed", it remains always on the top, no matter if a new post has come or not.
great! post, sticky now!!
Thanks. This should be sticky !!
PS : ClockWorkMod should be CWM....Not CMW.
Cheers !
s4sixty said:
Thanks. This should be sticky !!
PS : ClockWorkMod should be CWM....Not CMW.
Cheers !
Click to expand...
Click to collapse
sry my mistek
somthing wrong here wait i will again edit this topic from first line coc i dare to edit this topic on my mobile thats why it happen sorry for that
Sent from my GT-I9103 using XDA App
[Info] For Newbie What It Is It Mean? All Your Answare Are Here Part II
BFQ - Budget Fair Queueing
BFQ (Budget Fair Queueing) is a Proportional Share, or equivalently Fair Queueing, disk scheduler that allows each process/thread to be assigned a fraction of the disk throughput. It has the following characteristics.
It distributes the disk throughput to disk-bound proceses as desired, even if it fluctuates, independently of the disk parameters and with any workload. Providing this sector-domain fairness to processes issuing random requests would easily cause the disk throughput to drop on one hand, and cause other processes to experience very high latencies on the other hand. To face this problem, for processes issuing random requests, BFQ switches to time-domain fairness, in which it is the disk time to be fairly distributed (basically the scheme of CFQ).
According to our results, BFQ achieves up to 30% higher aggregate disk throughput than CFQ with most of the workloads considered, or the same throughput with the others.
BFQ guarantees to each disk request a tight delay with respect to the completion time that the requests would enjoy in an ideal (unfeasible) perfectly-fair system.
BFQ exports a low_latency tunable. If enabled (currently the default), BFQ executes a special heuristics that automatically gives to interactive and soft real-time applications more than their fair share of the disk throughput, to reduce their latency. According to our results, for desktop or handheld usage, the system becomes virtually as responsive as if the disk was idle, whatever the actual disk load is. Soft real-time applications enjoy up to 3-time lower latencies than under CFQ.
Low-latency guarantees are preserved also in presence of NCQ.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
USB JIG
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
This jig will allow you to get your phone into download mode when your phone is 3 button combo disabled or soft bricked. As long as there is something on the screen, the jig should work for you.
This JIG also works to RESET THE FLASHING COUNTER. You can flash custom ROMS and put the flash counter back to 0.
***WORKS ONLY AS RESETTER FOR ANDROID 2.3.4 AND EARLIER***
For More Info : http://usbjig.com/
Click to expand...
Click to collapse
SbXLivE said:
BFQ - Budget Fair Queueing
Click to expand...
Click to collapse
You should always update this article
Very good explanation of basics!
Would be nice to have similar intro explaining slightly more complex things seen during flashing a new firmware or somehow else modding a phone. Not everyone understands what is kernel, boot, recovery, system and data partitions.
Very interesting! You resolve some doubts, thank you!
Sent from my GT-I9103 using xda premium
SbXLivE said:
sry my mistek
somthing wrong here wait i will again edit this topic from first line coc i dare to edit this topic on my mobile thats why it happen sorry for that
Sent from my GT-I9103 using XDA App
Click to expand...
Click to collapse
what I've said is wrong. I always say CMW
Nice post for android beginners.
much useful info. thanks!
What Is Odex And Deodex In Android
What Is Odex And Deodex In Android
WHAT IS AN ODEX FILE?
In Android file system, applications come in packages with the extension .apk. These application packages, or APKs contain certain .odex files whose supposed function is to save space. These ‘odex’ files are actually collections of parts of an application that are optimized before booting. Doing so speeds up the boot process, as it preloads part of an application. On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.
Click to expand...
Click to collapse
THEN COMES DEODEX
Deodexing is basically repackaging of these APKs in a certain way, such that they are reassembled into classes.dex files. By doing that, all pieces of an application package are put together back in one place, thus eliminating the worry of a modified APK conflicting with some separate odexed parts.
In summary, Deodexed ROMs (or APKs) have all their application packages put back together in one place, allowing for easy modification such as theming. Since no pieces of code are coming from any external location, custom ROMs or APKs are always deodexed to ensure integrity.
Click to expand...
Click to collapse
HOW THIS WORK
For the more geeky amongst us, Android OS uses a Java-based virtual machine for running applications, called the Dalvik Virtual Machine. A deodexed, or .dex file contains the cache used by this virtual machine (referred to as Dalvik-cache) for a program, and it is stored inside the APK. An .odex file, on the other hand, is an optimized version of this same .dex file that is stored next to the APK as opposed to inside it. Android applies this technique by default to all the system applications.
Now, when an Android-based system is booting, the davlik cache for the Davlik VM is built using these .odex files, allowing the OS to learn in advance what applications will be loaded, and thus speeds up the booting process.
By deodexing these APKs, a developer actually puts the .odex files back inside their respective APK packages. Since all code is now contained within the APK itself, it becomes possible to modify any application package without conflicting with the operating system’s execution environment.
Click to expand...
Click to collapse
ADVANTAGES & DISADVANTAGES
The advantage of deodexing is in modification possibilities. This is most widely used in custom ROMs and themes. A developer building a custom ROM would almost always choose to deodex the ROM package first, since that would not only allow him to modify various APKs, but also leave room for post-install theming.
On the other hand, since the .odex files were supposed to quickly build the dalvik cache, removing them would mean longer initial boot times. However, this is true only for the first ever boot after deodexing, since the cache would still get built over time as applications are used. Longer boot times may only be seen again if the dalvik cache is wiped for some reason.
For a casual user, the main implication is in theming possibilities. Themes for android come in APKs too, and if you want to modify any of those, you should always choose a dedoexed custom ROM.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
What Is Zipalign In Android And How To Make Apps Zipaligned
What Is Zipalign In Android And How To Make Apps Zipaligned
WHAT IS ZIPALIGN?
zipalign is an archive alignment tool introduced first time with 1.6 Android SDK (software development kit). It optimizes the way an Android application package (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 overall the whole system much faster. Execution time is minimized for zipaligned applications, resulting is lesser amount of RAM consumption when running the APK.
Click to expand...
Click to collapse
SO HOW DOES IT EXACTLY WORK?
In an Android operating environment, data files stored in each application package are accessed by multiple processes, for example, the installer will read the data manifest to determine the associated permissions; the system server can read these resources for multiple reasons, like displaying notifications; the Home application, for example, will read resources to get the application’s name and icon. Since Android is based on a a true multi-tasking operating infrastructure, these files are continually and repeatedly accessed. Finally, but not least, the application itself reads the manifest data.
As Android is Linux-based, memory-mapping plays a key role in efficient handling of processes. Essentially, the optimal alignment for the Android OS’ resource-handling code is 4-byte boundaries. What this means is that, if APKs are memory-mapped to 4-byte boundaries, and aligned accordingly, the OS will not need to ‘read through’ the whole application package to get to the desired data manifest. Every system process will know in advance where to look for it’s desired resources, and hence will execute much smoother and faster.
Summing it up, zipaligning an APK results in all uncompressed data within the package to be aligned on 4-byte boundaries, allowing all portions to be accessed directly with the memory-map. RAM consumption is lowered while execution because the querying code doesn’t have to read through the entire application package.
Click to expand...
Click to collapse
DISADVANTAGES OF UNALIGNED APKs
Quite understandably, situation would be reserved for unaligned application packages. Resource reading would be slow and memory usage would be on the higher end of the spectrum. It would also depend on how many unaligned applications are present. For example, if less number of applications with an unaligned home application, you’d see slower application launch times. This is the best case scenario. For a worst case scenario, having a number of unaligned applications will result in the system repeatedly starting and killing processes, struggling with lags and huge battery drain.
Click to expand...
Click to collapse
HOW DO YOU DO IT, THEN?
As mentioned earlier, the zipalign tool became a part of Android SDK from 1.6 onwards. It can be found under the ‘tools’ folder of the SDK. To use it, simply run the command:
Code:
zipalign [-f] [-v] <alignment> infile.apk outfile.apk
where infile.apk is the source file, and outfile.apk is the output file.
Furthermore, you can also verify the alignment of an APK file using the following command:
Code:
zipalign -c -v <alignment> existing.apk
where existing.apk can be any application package that you need to get verified. Also, the <alignment> tag in both the commands needs to be an integral value (otherwise the command will return invalid). This value, although can be any integer, MUST always be 4, which would provide 32-bit alignment. Any other value and it will effectively do nothing.
Finally, for the flags used in these commands,
-f : overwrites existing outfile.zip
-v : will give verbose output
-c : will confirm the alignment of a given file
WORD OF CAUTION: zipalign operation must only be performed after you have signed the APK file with your private key. If zipaligned before signing, the signing procedure will disturb the alignment. Same holds true for any other alteration, addition or removal to the APK file. Any change after running zipalign will undo the alignment.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
thanx dude, i am translating to my own language and will use at a forum with your permission?
System.out.println("Hello peoples");
==>The purpose of this guide is to help people who don't know anything about programming,aren't modders,guys with knowledge about technology.
==>Initially I loved computers and their capabilities and have a little knowledge on the C and Java languages and just how computers (think).
You have to understand that computing tries to emulate human behaviors on how to solve problems.This is where programming kicks in.
So what is Android?
===================
1)Android in general is an operating system that was meant to run on mobile devices e.g. cell phones
and has expanded to tablets and notebooks.Android is divided into three language groups:
a)the system's framework and apps are written in java.
b)the Android's core [kernel] is pure C -language.
c)the Android's libraries are written in C++.
App libraries are called by apps that need more functionality that java can't provide.These are usually plugins like
decoders e.g. ffmpeg libraries that are used in video decoding,flash-players e.t.c. Here,java native methods are used and the android NDK platform
is used to enable the java apps call these libraries during execution.(Please read further on Android SDK,NDK and Jni).
So what happens when you have just flashed that new Rom.
====================================================================
First you have to understand that cell phones have their own embedded firmware not including the recovery and you will see why.
a)the recovery partition can be flashed to install aftermarket recovery roms.So even if you mess your recovery,you can still install again.(This varies with different phones).
b)their is that system chip which you cannot touch and there is a reason for it.Think of this partition like a PC BIOS.If you mess with your bios
your system is toast aka Bricking the system.Since phones are classed as embedded systems,manufactures don't want people messing with it as it would result into
cryptic errors and system vulnerability.
when the on button is pressed something simple yet complicated happens:
1==>The kernel which is compressed to save space usually in a (zImage) format is deflated or expanded.Since your NAND chips are partitioned,the kernel is given a very
special chunk in which is protected from user data.
2==>The kernel finds which base address it needs to start executing e.g.(0x00200000) and mostly when you put a wrong kernel base
address your phone enters into a boot-loop because arguments are being passed to invalid locations.It is important to know where your kernel base address
starts.You can try looking it up in your kernel sources(try searching for the mach msm folder and into the makefile) or just goggle it up or use Xda-Kitchen.
3==>with the correct kernel base address,execution starts.Usually the (init.rc) file in the (ramdisk folder) gives symlinks and creates structures i.e. folders that will house
modules and sets the correct paths to android files and framework.
4==>After arguments have successfully been passed,the handles are now passed to Android.Basically Android checks for (init.d) scripts that are available
this is true to GingerBread and Cyanogenmod 7.After that audio checks are done followed by camera services and then arguments are passed to (core.jar),a
critical framework file which is huge around 50Mb in size in CyanogenMod 7.
5==>Here the DalvikVM (Dalvik virtual machine) is called and the process of optimizing your system files starts.The framework get optimized first as this contains critical
code needed to run your device.Then your flingers and renderers and called.This are engines used by android e.g. (pixelflnger) which is used in touchscreen.
Your system's sensors are usually started around this point (your compass,light sensors e.t.c)your phone apps e.g. contacts,calendar get optimized around this point
and depending on the number of apps your manufacturer installed,it will take some time.
6==>your network get's activated around this point and is probably the time the capacitive buttons and lights on your gadget light up.This is usually a good indication
that your system has loaded.When your bootanimation ends the handles are passed to activate your home launcher.There is usually still a lot of activity going
on to fully ready your system and this is why if you try to use it immediately especially on low-end phones,your system lags or get (not responding) errors.
common misconceptions
=====================
1==>There is are reason why goggle gave minimum specifications needed to run Android because this is a full operating system(OS) unlike the past relic
phones that ran on 50MHz processors.
2==>please don't complain that some of your Ram is not the same as specified on the phones catalog(e.g. you have 256Mb of Ram but in the task manager it indicates you have 179Mb).
There is a reason to it.There are core processes that eat a chunk of your Ram and are hidden so that you don't try silly stuff like trying to kill them in thinking that your are trying to get more memory.
Think of it like this,it's like trying to kill (services.exe or svchost.exe) processes in Windows.You will just be trying to get system hangs,bluescreens
or just a system crash.
Will Add more info later.Please feel free to correct anything i might have not addressed properly or share your views.
Happy modding.
Kernel topic
============
In simple terms,the kernel is the core of any operating system e.g. windows, Mac,or any Linux distro like Ubuntu and Android.Android kernels come mostly
in the form of a compressed kernel (zImage).The kernel is written in pure C-language,which gives it direct access to memory and registers unlike java
which has to pass through the java VM(virtual machine).This makes code written in C-language to be very fast and robust but also dangerous.
==>Many Androids in the eclair regime ran on kernel 2.6.29. This was not a complete kernel and as by my experience there was alot of code missing from it.
2.6.29
======
==>a lot of androids did not have adb functionality due to the framework being embedded to allow USB mounting to PC.This was a very rigid method
of doing it(also a very old method).
==>In the case of other devices, when viewing the internal task manager,many processes were viewed as (0.00) byte files.In essence you could not determine
the amount of RAM your app was taking.This is true in the case of huawei u8120.
==>In the case of shutting down the phone,even in some cases under load,it did so very fast.It killed threads and handles mercilessly. Many people misunderstood
this concept and thought their phones ran faster as compared to 2.6.32 kernel.
2.6.32.9
========
Here there was a ton of improvements as developers and modders became more aware of support and tweaks.
==>Fixed issues like the internal task managers.It was now possible to accurately know how much RAM your apps were taking.
==>Resolved how the android system shutdown.Instead of merciless killing of handles and threads still running,it killed them appropriately.This is why
when shutting down your system takes a while.You can use adb to see these events.
==>Usb mounting to pc was also made somewhat generic and flexible across many devices.
==>It did change some methods on how the camera is being accessed mostly in eclair,donout and earlier versions of android phones.This issue made
cameras not function.
==>wifi methods were also changed and developers and modders had to re-write their code to allow compatibility.
==>This was also the year of many froyo phones and overclocking was a common thing.
extra notes
===========
During eclair era,many developers were in such a hurry to produce new android phones every few months that they never even thought of long-term support
to newer versions of android that would come much later.This is where i have to praise Iphones for standardisation of its OS across all of its devices.
==>If you try to copy paste code from 2.6.32.9 and paste it into 2.6.29 and expect it to work then expect tons of errors when compiling.The (g_android)
module was properly coded into 2.6.32.9 so if you try enabling it an older kernel,expect errors.
==>If you are a modder and looking to buy a new phone,please see if it has a fan base of coders or support.Avoid buying phones where you will not get
any support from the manufacturers or other devs e.g Huawei Technologies.This company sucks alot.After they produce a phone they forget about you the customer
so you will have to handle the upgrades all by yourself.
Do not use this command (make -i)when compiling kernels.It will skip errors and you may smile after it's finished but the end is just a tragedy.your kernel is bound
not to function properly or even function at all.
Happy modding.
They are all about Android 4.3 and upper.
A pair of questions about unrooting/locking/unlocking/booting.
1) What are the benefits of rooting other than being able to a) set custom cpufrequency policies, b) being able to update your phone (to custom new ROMs like cyanogenmod) when your OEM has decided to stop supporting it, c) full filesystem access, d) tuning sysctl parameters?
I don't like the fact the rooting totally breaks Android's security model.
2) Do I understand correctly that a locked phone is the phone in which you cannot overwrite/replace/customize vmlinuz? or there are even stricter limitations?
3) Do I understand correctly that in order to change e.g. /etc files you don't really need a custom ROM, you can boot into TWRP and replace/edit/remove the needed files?
4) Why does unlock wipe all your data?
5) If the phone is locked, how bootloader/firmware understands that our bootloader is untempered? Does the bootloader have a digital signature? I have this question because let's imagine that I 1) unlock 2) change vmlinuz (allow superuser) 3) lock?
6) How does "oem lock" verifies that system data is genuine? Or it simply wipes everything clean? Does Android has some (RO) partition which always contains a genuine virgin ROM you cannot meddle with?
7) If I do "unlock" on my Nexus device, without changing anything or installing any 3d party bootloader (like TWRP), will I be able to update to new official ROMs via OTA updates?
8) Why every "lock" manual says that I need to upload a genuine official ROM - what if I've changed it and made it "rooted"?
Storage.
Why does Android has so many partitions?
What method is used to break the internal storage into partitions? Is it some kind of partition table (MS-DOS, GPT) or it's hardware based?
1. The purpose of rooting is to give you an access level equal to the product's development team. Rooting is basically an unofficial way of doing exactly what the developers are doing on a daily basis. You can either consider that people are going to root and that the community adds value and bug fixes to your product by independent development (Android); or you can actively take measures to lock down root access and maintain a a gateway to development in the belief that this doctrine maintains a unified experience, protects security of intellectual material, and provides better overall security (Apple).
There's pros and cons to each side. With the Android thought, you are offloading a lot of your development burden onto the community and getting R&D, patches, and extending product life in return - for free. You take the risk of lowered security, but usually make it back because the community is a larger workforce with greater man hours and a vested interest in the product. They provide you with answers to problems you don't even know about as long as you listen.
With the Apple thought, you maintain a strong control on making the product do exactly what you want. This makes the product work exactly as expected, which can be easier for the user. However, your design has to be VERY good for the community to accept it. You also suffer in that you lock the community out from enhancing your product, so you HAVE to be the one coming up with all the ideas. Also, if the community finds a breach in your security, it can be devastating. Look at how much energy and money Apple pours into preventing jailbreaks.
I wouldn't be too worried about the 'break in security model' as you say, unless the Android platform becomes fraught with virii. After all, consider that unix on your PC is essentially the same thing, and you request root access on it to install certain things.
2. I'll let someone else chime in with a better answer
3. with root access you don't need a custom ROM, you just need the ability to access root permission and a file browser that will get you to protected areas.
4. I'm not sure I'm thinking about the same stuff as you here. Rooting doesn't wipe anything from what I remember. Replacing the ROM does, but that's because the ROM 'installer' doesn't have anything to preserve user settings. I don't consider this weird since Windows didn't have a really decent migration package built into the installer until windows 8.
5. There's a counter that iterates. Research trianglemod for an example of this topic.
6. It's hard to say what the OEM has for tools without them releasing the tools to the public. They, of course, are going to have better tools than us. No, there is no read only partition that I'm aware of that contains a full ROM that you can dump back in place. I've gone so far as to fully wipe my Galaxy S3 to the point where it only had clockworkmod and a boot screen that never went away. If I went much further, I could probably brick the phone, requiring an external programming program. A full brick would remove interface to your PC, which I believe is a possibility.
7. A new OEM ROM update will do one of three things:
a. update the phone to the new ROM and most likely break all the apps
b. update the phone and wipe everything
c. partially update the phone to a state where it won't boot due to a corruption (I've been here, lol)
8. not sure what we are talking about here
9. Android is based on linux. Linux is designed with specific partitions to handle different tasks for storage, memory access, stuff like that. If you aren't happy with the design, you are free to do something else - you don't have to use Android on an Android phone, you can probably put FreeBSD or Slackware or something, or write your own kernel.
Hi
Before I mean that applications and tweaks that will give them are the ones I've used, tested and have worked for me, so if you have that you know could be so kind as to comment as you lack have managed to control the use of RAM.
I also want to say sorry if my English is bad, I had to use the Google translator on the one hand and on the other my little knowledge in English, I'm sorry.
Not if you have noticed but in the Custom Roms of our device we overuse of RAM, this becomes more noticeable even Roms based on Lollipop, as can be CyanogenMod 12 where we can see that sometimes bubbles Messenger chat can be closed or the music is turned off, so I write this guide to explain how to control this use with some applications that truth to me I have worked.
-Apps:
The truth use applications to control the use of RAM is very embarrassing, since we are no longer in a device with 180MB of RAM, and have to use Tweaks or applications that optimize this, for some use some Tweak or application on this device is something good to optimize it a bit more, but we think 1GB of RAM and a 1.2 Ghz processor with 4 core.
To control the use of RAM I recommend...
Root Booster(FULL VERSION):
https://play.google.com/store/apps/details?id=com.ram.memory.booster.cpu.saver
The truth is that this application achieving control the use of RAM on my device, but I had to buy the full version, you can use the mode solves this problem, in short, once you buy the application must be enabled mode more stability and activate (Required root to use this application, it is a bit obvious that the application is called root Booster).
AutoKiller:
Before knowing Root Booster using this application but really saw that I closed many processes necessary but the truth if I won a big improvement in the management of RAM, the truth if you run install I recommend you select the Ultimate mode.
-Tweaks:
Truth does not recommend it Tweaks init.d but the truth if they help as much as elsewhere in scrolling speed or other you run.
L-Speed:
http://forum.xda-developers.com/android/software-hacking/tweak-l-speed-v1-0-02-02-2015-t3020138
This Tweak me if I worked well to improve the speed of scrolling and a little more open applications, RAM usage but saw no improvement truth in one or another section if that worked.
Now, this is the only tweak I can recommend for this device.
-Things not recommend:
Do not mix Tweaks:
Many would say that mixing Tweaks will gain greater speed, but not really. In some cases this may cause system instability, causing not work normally, can cause terrible lags or even a brick, do not think for mixing Tweaks will gain greater speed, if your system already works well with you Tweak to mix with more.
Do not mix apps:
I say almost the same as in the previous tip, if your device and works well with an application to modify that, the truth if mixed apps can cause applications to close or in some cases are playing something and that game middle parting closure.
Well, that's all I can tell you, as I said at the beginning of the post if you have any Tweak or application that worked them to control this might share? would help users much more control this big problem, I hope you enjoyed this post and wish them well controlling this great use of RAM in their devices,
Greetings.