Android Image Building - myTouch 3G, Magic Android Development

Hi. I am a developer interested in Android.
More specifically, I am interested in building a custom Android image, not just developing applications (i.e. I want to modify the OS/framework itself).
I was wondering, though, whether ppl who build custom ROMs (ION, HERO, etc) use and modify binary images or build their own custom ROMs from the source and potentially add some binary only stuff (e.g. HTC POP3/IMAP, HTC Pdf Reader,etc.) from the binary ROMs.
I don't know what is prevalent and why?
Another related question, where does one find directions to build and most importantly install a custom ROM on an Android device (mine is Magic). Google obviously has info on that, but I want to know if I'm going to have problems with differences between ADP1 (official guide) and my own device.

Related

[HOW TO] Porting ROM from another device?

I want to port some ROM from 32B to my 32A. I am new in this Android ROM Development section, but I have some knowledge. In WM I used to cook ROMs every day (Link), also I have managed to create Hero port for HTC Niki device (Link).
I have some procedure in mind:
1. Extract system.img from ROM which I want to port
2. Extract boot.img from ROM which I want to port (with AmonRA porting tools)
3. Replace boot.img-kernel with the one from my stock boot.img
4. Rebuild boot.img
5. Build update.zip, sign it and flash
- Now, before I create update.zip I have some questions:
* Do I need to replace wlan.ko with the one from my stock ROM?
* Do I need to replace build.prop?
* And what else?
AmonRA in his tutorial, has explained everything, but his porting is just for boot.img, and I am guessing that his nk02ion_r4 (system folder) is already prepared for 32A.
Thanks in advance?
You'll definitely need to replace wlan.ko, otherwise your wifi won't work. As for what other changes you may need to do - there's no universal way to do it, it varies from ROM to ROM (that is if you want to retain all or at least most of the functionality of the original ROM). In some ROMs, for example, I had to modify the ramdisk image slightly. In other, I had to replace a few of the system tools with my own compiled one to get the functionality I wanted back. Or remove a few files that work on 32B/G1 but create unnecessary problems on 32A (like HeroLED.apk). And then of course after such changes you may need to modify the update-script accordingly.
One thing that bothered me to the extent that I even started with compiling kernel and creating "porting packages" myself was that when porting, people often just replaced the kernel image itself (boot.img-kernel) and wlan.ko while other kernel modules were left unreplaced (because the person porting the ROM probably didn't even have them available), therefore many things from the original ROM were not available in the port. Case in point - compcache: whether we need it or not on 32A is another thing, but I believe that if it's supported in the original ROM, we should have the option to use it even on 32A should we want to try it.
I understand it's better to port this way rather than not to port at all (and I've done this myself, yes, guilty as charged), but it's still quite wrong to me to simply create "mashups" where ramdisk belongs to one ROM, kernel to another one and kernel modules to yet another one. It's easier, but it's not the right way to do it if you can prevent it.
Case_ said:
You'll definitely need to replace wlan.ko, otherwise your wifi won't work. As for what other changes you may need to do - there's no universal way to do it, it varies from ROM to ROM (that is if you want to retain all or at least most of the functionality of the original ROM). In some ROMs, for example, I had to modify the ramdisk image slightly. In other, I had to replace a few of the system tools with my own compiled one to get the functionality I wanted back. Or remove a few files that work on 32B/G1 but create unnecessary problems on 32A (like HeroLED.apk). And then of course after such changes you may need to modify the update-script accordingly.
One thing that bothered me to the extent that I even started with compiling kernel and creating "porting packages" myself was that when porting, people often just replaced the kernel image itself (boot.img-kernel) and wlan.ko while other kernel modules were left unreplaced (because the person porting the ROM probably didn't even have them available), therefore many things from the original ROM were not available in the port. Case in point - compcache: whether we need it or not on 32A is another thing, but I believe that if it's supported in the original ROM, we should have the option to use it even on 32A should we want to try it.
I understand it's better to port this way rather than not to port at all (and I've done this myself, yes, guilty as charged), but it's still quite wrong to me to simply create "mashups" where ramdisk belongs to one ROM, kernel to another one and kernel modules to yet another one. It's easier, but it's not the right way to do it if you can prevent it.
Click to expand...
Click to collapse
Thanks Case_. I am new to linux and I love Android, but this seems to be very hard to understand. Is there any way to set up kitchen (or something similar), or I need to compile from source (but I have no idea how to port ROM with this method)?

[Q] Why is it so much work to enable a rom for a device?

When I look at the architecture of Android I would expect that the updated Android version lives in all the layers exept for the Linux Kernal. This would mean that upgrading would be as easy as overwriting the layers with the new ones.
Only when the way the drivers are called is changed would a rom require an update on the Linux Kernal.
As it takes a long time to enable updated roms for devices either the architecture picture is incorrect (or the ideal picture that can't always apply due to technical restrictions) or my understanding of it is incorrect.
Could someone please explain?

[Q] Creating Custom ROM

Hello, I'm new to all this Android stuff (I don't even have a phone yet, but its on it way)
I have been reading up on custom ROM creation but there are some things I don't quite understand.
Let's say I have a phone in Android 2.3. I want to create an Android 4.0 ROM to put on the phone.
Now... to compile Android 4.0 I need the drivers for my phone (which I doubt I will ever have access too since its only a cheap Android with a MediaTek CPU)
So I have a 2.3 ROM that contains all the compiled drivers and the Android 4.0 source code.
Is it possible to compile 4.0 and replace the zImage (if I'm correct) with the 2.3 zImage. From what I have read, that's where all the drivers are stored.
I guess its not that simple since I also think the zImage contains the OS. If so, is it then possible to extract the zImage and replace the invalid driver files in 4.0 with the correct drivers from 2.3?
Also, I think my phone will arrive with an annoying UI, is it possible to just get any 2.3 ROM (that doesn't have an annoying UI and shares the same CPU as my phone) and replace the zImage in that with my phones 2.3 zImage?
Sorry, if my questions are stupid but this is all new to me. I've tryed to read up on this but nothing is straight to the point.
Thanks
Anyone there?
try out some roms first. see what you like and dont like. it'll probably give you a better idea for how you would make your own rom.
I don't think you could just port an entire zimage to ICs and say it will work (it might not even compile i think). It won't work. You could probably take some drivers' code (screen, speaker, etc), modify them a bit so it compiles, and test to so if it works. You more than likely have to modify the ICS code also so it works. And the zimage is just the kernel no? And the kernel really only has to do with low level system processes, drivers, etc. I think UI's and such are more fitted in frameworks and such.
Personally if it was so easy to port ICS by simply replacing the zimage or file with another, ICS would have been ported to many devices, fully working, by now.
Kailkti said:
I don't think you could just port an entire zimage to ICs and say it will work (it might not even compile i think). It won't work. You could probably take some drivers' code (screen, speaker, etc), modify them a bit so it compiles, and test to so if it works. You more than likely have to modify the ICS code also so it works. And the zimage is just the kernel no? And the kernel really only has to do with low level system processes, drivers, etc. I think UI's and such are more fitted in frameworks and such.
Personally if it was so easy to port ICS by simply replacing the zimage or file with another, ICS would have been ported to many devices, fully working, by now.
Click to expand...
Click to collapse
Yeh, but my problem is I don't have the drivers for the phone. I just have the stock ROM that come with it.
Is not that simple. I am 99% sure that you can't do that.
The phone I'm getting has a horrible theme on it. Its running Android 2.3
I have the ROM for a very similar phone (also using Android 2.3), uses the exact same CPU so it should be compiled using the correct platform.
Is it possible to use that phones ROM but replace it with my phones Kernel and .prop (so it has all my phones drivers and settings etc...)?
the hard work required in making a custom rom
I think you can take from the stock rom and compared with existing custom rom
but some sources are not shared freely as an example Tegra
CMIIW
I will mess about with the ROM when I get my phone. Hopefully I wont brick it...
I too am fairly new to android. I spent a couple weeks reading and watching TONS of youtube videos on how to ROOT and Unlock my bootloader. My best advice from one n00b to another would be to do the same. In particular...research how to do it on YOUR phone. Also, Roms are device specific. I recommend you finding the forum here on XDA for your phone and read up on whatever ROMS are available here. This might not be the ONLY place to find ROMS, but this place simply rocks! Once you get your device rooted and if necessary, your bootloader unlocked...you can easily try out any ROM without much fear. Just make a good backup...make sure you also have a factory recovery image too...just in case. For backups...if you install and use Clockwork Mod (CWM) you can use the nandroid backup it offers. I bought Titanium backup from the market and used it to do a full backup before I started...it backs up to dropbox even, which was a nice feature for me. Extra safety so incase I hosed my external SD card which had my backups...I could easily retrieve a backup ANY place that had internet access. Lastly...get ready to have some FUN! Flashing ROMs is VERY addictive!! :-D
Ok, Thanks. I will see what I can do then.

ultimate rooting flashing ..............etc

Android and iOS are the most popular mobile operating systems on the market. Both offer a variety of apps and settings but, eventually reach their limits at a certain point. Rooting or Jailbreaking your phone (or tablet) will offer you thousands of tweaks, skins and new apps that you should not miss out on. It will also help you to remove bloatware.:laugh:
Android Launchers and lock screen widgets are great tools to customize your Android experience without rooting your device. You are also able to root your device and customize it with a launcher and widgets afterwards. If your Android device is rooted but you don’t want flash a custom ROM, Xposed Framework might be the perfect solution for you. You are, however, also able to add new features to your custom ROM with Xposed. With the release of Android 5.0 Lollipop Google replaced the former Dalvik cache with ART. Luckily, Xposed was adapted to Android 6.0 Marshmallow
This guide is based on Google Nexus devices, but most of the things also apply to other Android devices. Some might require more work while others can be rooted quite easily, but in the end it’s no rocket science. Rooting and customisation is especially easy on Nexus devices as factory images are freely available on the Google website. However, many other popular devices like the can easily be restored using different tools available on XDA developers. I would suggest to have a quick look at the forums and I’m pretty sure that you’ll find help for your device.
Android Rooting Terms You Should Know
Before we get started, I would like to explain a few terms because the terminology can get complicated and confusing. This will help you to understand other device specific guides. I’ll try to keep it short and not go into (technical) details. Please share any questions regarding this in the comments below – I’ll do my best to answer them.
ART
ART stands for Android Runtime and replaces the formerly used Dalvik cache. It was introduced in Android 4.4 and has completely taken over in Android 5.0. I don’t want to go too deep into technical differences, but ART is said to improve battery life and app performance, amongst others.
Bootloader
The Bootloader is your phone’s software foundation. It’s basically what runs before your operating system starts (like a PC’s BIOS). As many manufactures don’t want you to modify your phone’s OS, it needs to be unlocked before you are able to root your phone or install custom ROMs (explained later).
Brick
This is something you don’t want to happen to your Android device. Like the name already implies, a bricked phone (or tablet) can only be used as a paperweight or nice decoration for your apartment. Bricked devices are irreversibly damaged and won’t work anymore. This can, for instance, happen if damaged ROMs are installed or wrong firmwares are flashed. Always make sure to read instructions and verify checksums (a set of numbers that identify the file) to make sure nothing goes wrong. If you’re lucky and your device is only soft-bricked, meaning that it does not boot but still turns on, you might be able to get it back to life.
BusyBox
Android, being based on Linux/Unix, offers a limited amount of UNIX commands (which most users won’t need anyways). BusyBox will implement more commands that are necessary for some root apps to work properly.
Custom ROM
A custom ROM is a modified version of the Android operating system. Tweaks, additional features, different themes or an enhanced performance are usually included. Custom ROMs also offer the possibility to use a newer, unreleased, version of Android on your phone that might usually not be available for your device because of restrictions from manufacturer or providers.
Dalvik
Dalvik is a virtual machine that processes Android app code. Consequently, it is responsible for translating app code into actions on your Android device.
Fastboot
Fastboot is a diagnostic- and engineering tool which offers you several features such as launching in recovery mode or flashing image files.
Kernel
The kernel is the brain of your phone that controls how the system and hardware interact. It’s basically the lowest level of your operating system that manages memory and hardware.
NAND partition
NAND stands for “Negated AND” or “NOT AND” and describes the hard drive partition that stores all system relevant information like the bootloader, recovery mode or the kernel.
NANDroid backup
A NANDroid backup is a complete system backup of your Android device. This backup can be restored later and might save your phone after flashing a faulty ROM or theme.
Radio
The radio is responsible for sending and receiving voice and data. Using an optimized radio can improve your phone’s reception or increase battery life.
Recovery Mode
Recovery mode offers you the possibility to perform system-level tasks (like formatting, defragmenting, etc.), backing-up your devices or install custom ROMs. Android offers a limited stock recovery function. More sophisticated recoveries like ClockworkMod Recovery and TWRP Recovery offer additional features and are easier to use.
Root
Rooting will give you full administrator access of your device. It might also void your warranty (depending on the device and your place of residence), so make sure to handle your device with care after rooting it. You are always able to revert this process by simply flashing a stock-ROM (the original ROM installed by your phone’s manufacturer). Doing this will also “restore” your warranty.
S-OFF
S-OFF means that the NAND partition of your Android device is unlocked. This mostly applies to HTC phones.
Superuser
Rooting your phone will create a new “account” with complete administrative permissions. This superuser account is used by some apps and functions.
Xposed Framework
Xposed Framework is an app that can be installed on a rooted Android device which offers custom ROM like features on stock Android. It has been updated and is now fully compatible to Android 5.0 and Android 6.0.
5 Reasons to root
With Android becoming better and better, many people ask themselves if it’s still worth rooting. For example, you’re not able to use Android Pay if your Android phone is rooted. The same applies in other cases, where App developers decide to not support rooted devices for security reasons.
In addition to that, Android M will come with many features like “Doze” which basically replace root apps such as Greenify. So what exactly are reasons to root in 2016?
You have an old(er) Android device. With root access, you’re able to flash a custom ROM with the latest version of Android. Because of this, you don’t rely so much on your device manufacturer to keep you up to date.
AdAway. While I’m all-in for supporting developers, some apps don’t offer an ad-free paid version. With AdAway you’re able to get rid of all unwanted ads which is simply not possible without root.
Titanium Backup. Android M will bring Auto Backup for Apps, but unfortunately it’s still up to the developer if he/she wants to implement it or not. Titanium Backup is a simply but powerful tool that backups simply everything.
Change DPI. With many devices coming with high-res displays nowadays, some people prefer to have more screenspace than big app icons. While changing DPI can also be done without root, it often breaks different apps.
Remove bloatware. This one is easy. Remove all the crap your mobile carrier put on your device. Who doesn’t want to do this?
How to Fully Backup Your Device Without Root
If your Android device is not rooted yet, you won’t be able to perform NANDroid backups. I wouldn’t suggest to root your tablet or phone without having a proper backup, because there is always a chance of error and you don’t want to brick your device.
Simple ADB Backup let’s you create a full backup of your device without root access and is the perfect solution for users without root access. The free program also offers a restore function and runs on Windows and Linux.
If you’re already rooted, make sure to check out our guide on performing a NANDroid backup.
How to Root Your Android Device
The rooting process differs from device to device which makes it impossible to give general instructions on rooting here. I’ve linked guides for some of the most popular devices below. Using the terms described earlier should make the rooting process easier for you. If your phone or tablet is not on the list, you most certainly can find a guide on the XDA-Developers forums.
Google Nexus 4, Nexus 5, Nexus 7 and Nexus 10
Google Nexus 6P
Google Nexus 5X
Oppo OnePlus 2
Samsung Galaxy S6
LG G4
Samsung Galaxy Note 5
Always make sure to perform NANDroid backups of your devices to be able to restore your phone or tablet to a working state. I would also recommend to validate checksums and carefully read through the instructions to avoid bricking your device.
Most Important Fastboot Commands
When confronted with Android rooting, you often have to work with fastboot. Fastboot is part of Google’s Android SDK and is mostly used to re-flash partitions on your Android device, similar to (custom) recovery mode. You usually use fastboot in the following manner:
fastboot [ <option> ] <command>
Here’s a list of all options and commands:
Options
-w erase userdata and cache
-s <serial number> specify device serial number
-p <product> specify product name
-c <cmdline> override kernel commandline
-i <vendor id> specify a custom USB vendor id
-b <base_addr> specify a custom kernel base address
-n <page size> specify the nand page size. default: 2048
Commands
update <filename> reflash device from update.zip
flashall flash boot + recovery + system
flash <partition> [ <filename> ] write a file to a flash partition
erase <partition> erase a flash partition
getvar <variable> display a bootloader variable
boot <kernel> [ <ramdisk> ] download and boot kernel
flash:raw boot <kernel> [ <ramdisk> ] create bootimage and flash it
devices list all connected devices
reboot reboot device normally
reboot-bootloader reboot device into bootloader
Now that we’ve covered all existing fastboot commands and options, let’s have a closer look at the most important ones and what they do / mean:
fastboot oem unlock
This is a special command and not part of the initial list. Using this command, you can unlock the bootloader for Google Nexus devices.
fastboot flash recovery recovery.img
This command will flash a custom recovery to your Android device. Depending on the file name, you need to change the bold part of the command. Please not that this only works with *.img files
fastboot -w
Caution: This command will completely wipe your device
fastboot update filename.zip
This command will update your ROM based on the provided *.zip file
Custom Recovery Mode
The standard Android recovery mode is very limited and does not offer many features. That’s where replacement recoveries like Team Win Recovery Project (TWRP) and ClockworkMod Recovery (CWRM) come in place. They offer the possibility to flash custom ROMs which is not possible with the stock recovery mode. Other features include a file browser for update.zips, adb shell and NANDroid backups. Without a custom recovery you won’t be able to flash a custom ROM.
It does not really matter which replacement recovery you install, just go with the one that suits you most. In some rare cases the root script or custom ROM installation only works with either TWRP or CWM. Nowadays, TWRP is the king of custom recoveries and would be my suggestion for you to use.
TWRP – Team Win Recovery Project
Team Win Recovery Project‘s custom recovery offers an easy and touch driven user interface. It includes all typical recovery features needed to install custom ROMs, kernels, other tweaks and many more. You are also able to backup and restore your device using TWRP.
ClockworkMod Recovery used to be one of the most popular custom recovery modes. However, in the last 2 years TWRP took over the throne and became the most popular recovery. It also includes all advanced recovery features like installing custom ROMs and other files, as well as a backup and restore function. You can control the CWM UI via touch or key-input.
Understanding Custom ROM Versions
As Custom ROMs are constantly improved, they usually come in four different categories: Nightly, Milestone, Release Candidate and Stable. This is what you can expect in every stage:
Nightly
Nightly versions are usually generated every 24 hours and can be highly experimental and unstable. Especially early versions of a new custom ROM can have many bugs and missing features. If you want to have the latest features while risking instability – go for nightlies!
Milestone Snapshot
Milestone Snapshots are basically nightly versions that have reached a certain milestone. They can be regarded as being quite stable, but may include certain bugs and issues. Since they are only created every few weeks (or months), they won’t have the latest features that might be included in the nightly versions. If you are looking for the latest features while having a rather stable system, check out milestone snapshots.
Release Candidate
Release candidates, as the name already implies, are one of the last builds before the stable version of a custom ROM is released. RCs are mostly stable but might have a few minor issues. If you’re looking for something stable and ready for daily use, I would recommend to go with release candidates!
Stable
Stable versions are (obviously) the most stable versions around, with all or nearly all problems fixed. Some stable ROMs may still include some smaller issues or certain things not working. Stable versions are definitely the safest way to go, but it might take months before a new stable with new features or fixes is released.
Official, Unofficial & Combined Releases
It is also important to say that custom ROMs are often available as official and unofficial releases. Later use the source code of the official release (if publicly available) and adapt it to devices not supported by the main developers. Unfortunately, this often leads to a delay. In addition to that, many developers combine features of different custom ROMs.
Custom ROMs
Custom Roms offer you a variety of new features, tweaks and visual enhancements. The best source to find a working one for your device is the XDA-Developers forum. Many custom ROMs are based on the two big releases: CyanogenMod and Paranoid Android. The easiest way to find the best custom ROM for you is to compare their features or simply test them for a few days. To make your start easier, I’ve written a few words about the major custom ROMs below.
I’m only able to give you a limited overview in here. If you really want to dive in I would recommend checking out your device specific sub forums on XDA developers. With Android modding becoming more and more popular, you’re often able to find many different custom ROMS for your device, especially if it’s one of the more popular phones or tablet.
CyanogenMod
CyanogenMod looks very similar to stock Android, but offers several enhancements and tweaks. Besides increased system performance and reliability, it includes many interface enhancements and integrated features. CM is one of the most popular custom ROM solutions as it brings a stock Android experience to many devices that come with a heavily-skinned Android version such as LG or Samsung Galaxy devices.
CyanogenMod Features
OpenVPN integration
Lockscreen gestures
Expanded quick settings
DSP equalizer
Complete Theme engine including own theme store
Wi-Fi, bluetooth, and USB tethering
CPU over- & underclocking
Based on Stock Android
Latest CyanogenMod Version
CyanogenMod is usually up-to-date and uses the latest Android version. The latest version available is:
CM 13.0 – based on Android 6.0 Marshmallow
A quite unique feature of CyanogenMod is it’s installer which makes installing the custom ROM quite easy. Besides flashing the ROM it will also root your Android device and will guide you through the whole process. Unfortunately, the installer is currently only available for Windows.
CyanogenMod is available for the majority of popular Android devices. You can find a list of supported devices on the CyanogenMod website.
BlissRom
BlissRom is a new kid on the block. They basically take CyanogenMod as a source and add some magic to its. While updates are not as frequent as with CyanogenMod, the team covers the most important stuff and usually releases up-to-date stuff.
BlissRom Features
Based on CyanogenMod (= all of its features)
Audio Improvements
Endless list of visual improvements
Global gestures
Modified power menu
Latest BlissRom Version
The latest BlissRom version is based on CM 12.1 and is called BlissPop and still running Android 5.1.1.
BlissRom is available on a range of devices. You can find a list here.
ParanoidAndroid
ParanoidAndroid is completely different to CyanogenMod and one of the “newer” custom ROMs out there. It’s currently my favorite custom ROM as it’s fairly close to stock Android while adding cool features like Peek and Hover. Next to CyanogenMod it seems like PA is king in the custom ROM scene. Unfortunately, the team only supports a small range of devices (Google Nexus & Oppo, OnePlusOne). There are, however, so-called Legacy versions available which support other devices.
ParanoidAndroid Features
Floating notifications & multitasking
Hidden Navigation PIE mode
UI customization
Gesture controls
CyanogenMod themes support
I was running PA on my Nexus devices and really loved it. It’s stable, fast and battery life is great. I can highly recommend this ROM.
Latest ParanoidAndroid Version
The latest PA version is based on Android 5.0 Lollipop. PA usually works with nightly version that are quite stable and frequently updated. Unfortunately it has not been updated to Marshmallow yet. It also seems like the official version for Oppo devices is maintained more frequently than the legacy versions.
ParanoidAndroid Availability
An overview of officially supported Google Nexus, OnePlusOne and Oppo devices can be found here. Legacy devices are listed here.
Device-specific custom ROMs
The custom ROM scene developed itself into a certain direction in the last year, especially with stock ROMs including more and more features. As device manufacturers often don’t publish official drivers, custom ROMs like CyanogenMod are not able to support all features. Because of this, custom ROMs are often developing in a direction of adapting ads to devices. Because of this, I cannot give you great recommendation for all devices. I would personally suggest to either go with the big players like CyanogenMod or look for a popular specific ROM for your device. The XDA Developers forums should do the trick for that.
Flashing Custom Kernels
Kernels are the brain of your Android device and communicate between software and hardware. Therefore, they are responsible for managing things like CPU / GPU clocking speed, screen sensitivity / colors or voltage. By using a custom kernel you can not only improve battery life, but also increase system performance.
Many custom ROMs already come with their own kernels. This is done to implement software communication of the custom ROM with the hardware of the device and also to ensure a better performance. Nevertheless, you are often also able to flash custom kernels to custom ROMs. If you decided to stick to a rooted version of stock Android, flashing a new kernel can offer you additional performance with the convenience of a stock OS. Unfortunately, there are no “big” kernel releases that work for multiple devices and it’s hard for me to give any suggestions here. I would suggest to check the dedicated XDA-Developers forum for your device
After downloading the custom kernel, you usually have to reboot to recovery and flash it from there. That’s it! Always make sure to check compatibility of the kernel with your ROM and device, because flashing a wrong kernel can brick your phone!
Apps
Rooting your Android device will offer you many benefits. Besides the features mentioned above, you can also install great apps that require to go deep into the system. Using them with an un-rooted device is not possible. Below I’ve listed a few apps that I like and use on an everyday basis. Feel free to share other apps in the comments section below!
Titanium Backup
Titanium Backup is a great backup tool for Android devices that offers tons of features. It provides the possibility to backup your data, settings and apps. Scheduled backups are also available. The paid pro version offers lots of great features like syncing backups with cloud-based storage providers such as Dropbox, Google Drive or Box. In my opinion this is one of the best root apps and a must-get. Especially if you’re a flash-a-holic, performing and restoring quick backups of all your apps (incl. settings and save games) is really easy and convenient with Titanium Backup.
ROM Manager
When you constantly switch between custom ROMs, ClockworkMod’s ROM Manager is one of the essential apps to get. Besides flashing ClockworkMod recovery, it will help you to organise and install your custom ROMs and backing-up your Android device. The paid premium version includes additional features like automatic backups, web connect and incremental ROM downloads.
AdAway
I struggled a little bit when deciding to either include AdAway or not, because it’s great for users but bad for app publishers and marketers. Google removed it from Google Play but you can still get it on the AdAway website. Like AdBlock Plus on your computer, the app modifies your Android devices hosts file to prevent apps and browsers to display advertisements. This will not only improve your app usage experience, but also increase battery life and decrease mobile traffic. Be fair and purchase paid versions of apps or donate a small amount to developers to make sure they will keep on programming great apps!
Google has recently begun to remove certain apps that violate their distribution agreements from Google Play. If you’re still interested in installing AdAway, please refer to the AdAway website.
Xposed Framework
Xposed Framework is a great app that offers the possibility to add features to your Android devices without flashing a custom ROM (or in addition to it). You’re able to install modules which offer visual customisation or battery improvements, amongst others.
Greenify
Greenify is a great app to improve battery life and system performance because it puts selected apps in hibernation mode. Not having tons of apps stored in RAM or running as system processes will make your Android device faster and increase your user experience. Please refer to full review for more information.
Frequently Asked Rooting Questions
1. How can I restore stock Android?
To get back stock Android, simply flash a stock ROM suitable for your device. This way you’ll get an unrooted, stock Android version with restored warranty.
2. What happens to my settings, contacts and apps when I install a custom ROM?
It’s always recommended to wipe your device before installing a custom ROM for the first time. If your Google account is linked to your phone, contacts, emails and apps will automatically be downloaded after launching the custom ROM and logging in to your Google account. You can backup your settings with apps like XYZ.
3. How can I upgrade a custom ROM?
Most custom ROMs offer a update function, some directly integrated to the OS, others using a specific app. You can also use ROM Manager to update certain custom ROMs.
4. Is it possible to just root a phone and not install a custom ROM?
Yes, simply use a stock ROM and root it. If you update it, your root-access will be gone, though.
5. Do I need to go step-by-step to upgrade my Android device or can I directly go to the latest version available?
You can usually simply flash the latest ROM and are good to go. Custom ROM updates usually come in a full package, meaning that you have to download the complete ROM to update it. The downloads are usually about 100-200 MB.
6. Is there a special order to flash a ROM or kernel?
I would suggest flashing the ROM first as they often include their own custom kernels. Afterwards, boot your phone with the custom ROM, go back to the recovery mode and flash the kernel. Also make sure to check whether your custom kernel is supported by the ROM.
7. Can I update or change certain parts of Android without flashing a ROM?
Not in terms of getting a newer Android version. However, you should have a look at Xposed Framework as it brings many custom ROM features to your Android installation.
8. Do I have to downgrade my phone to flash ROM XYZ?
No – as long as your bootloader is unlocked and you have a custom recovery installed. With some devices, you need to downgrade to be able to do that. Custom ROMs usually don’t require a certain Android version because everything OS-wise is overwritten anyways.
9. Is there a custom ROM for my phone / tablet?
I would recommend to head over to the XDA developers forums and perform a search query there. If you’re using one of the popular devices there are usually many custom ROMs available. You can always check out Xposed Framework to add some more features to your Android device if no custom ROM is available.
Final Words
Do you have any questions about the rooting process, custom ROMs, tweaks or apps? Do you maybe want to share other great apps that I might have forgotten? Feel free to do so in the comments below!
I am interested in rooting my android but do not know how to begin and how to identify my LG
how to know whether the recovery image in working or not without flashing on android
how can i create a virtual android environment that mimics my android kernel and os .So that i can flash recovery on virtual android without damaging my physical device........plesae help me .i am new to this :crying::crying:
sai2698 said:
how can i create a virtual android environment that mimics my android kernel and os .So that i can flash recovery on virtual android without damaging my physical device........plesae help me .i am new to this :crying::crying:
Click to expand...
Click to collapse
you can use virtual box on PC
just get a tutorial on internet
monterlarge said:
I am interested in rooting my android but do not know how to begin and how to identify my LG
Click to expand...
Click to collapse
just google your device and search for the compatible ROM
EASY PEASY
sai2698 said:
how can i create a virtual android environment that mimics my android kernel and os .So that i can flash recovery on virtual android without damaging my physical device........plesae help me .i am new to this :crying::crying:
Click to expand...
Click to collapse
Use virtual box

Is sources from the vendor required?

If the vendor (in this case Vodafone) don't provide sources, does it mean I'm unable to create a ROM for it?
Put it another way, is it possible to create a ROM using only a running device?
The Original Leppa said:
If the vendor (in this case Vodafone) don't provide sources, does it mean I'm unable to create a ROM for it?
Put it another way, is it possible to create a ROM using only a running device?
Click to expand...
Click to collapse
Yes, if you want to build a "true" custom ROM you will need the stock source code for your device.
If you can root, you can use adb or Terminal Emulator to do a "ROM dump", or dump just a copy of your system.img, then modify that system.img and then use adb to push the modified system.img to your device. It will be considered a modified stock ROM, it won't be a "custom" ROM but you can modify it quite heavily with things like Xposed, Gravity Box, and a few other good mods and themes.
Or you can get a copy of your stock firmware(not the same as source code), then find other devices with the exact same hardware that have a better version of Android than yours, then use your stock firmware to port the better version to work on your device.
Building a true custom ROM is "possible" without stock source code but it would require VERY extensive programming and developer knowledge to do it because you'd have to do every bit of it from scratch with no resources to work with.
Sent from my SM-S903VL using Tapatalk
So, I'm screwed, in terms of porting?
The Original Leppa said:
So, I'm screwed, in terms of porting?
Click to expand...
Click to collapse
It would help if you had stock firmware for your model then you can find another device with the same hardware architecture(chipset), if they are similar enough you can port it.
It's possible to port between devices that aren't exactly the same chipset but that also requires extensive developer knowledge.
If you aren't experienced then you're pretty much out of luck.
If you want to customize android devices then you need to get less obscure devices. Next time, research the device first to see if there is a known rooting method for it and whether there is custom development available for it before you get it. Or if you get a device that just came out, get a device that you are certain that developers will support, typically a flagship/popular device.
The cheap low-mid range devices usually don't get support from developers and the ones that do get support are not supported by real develoers, they are supported by members that took it on themselves to learn how to build android just so they can update their device but their work usually isn't exactly right due to their lack of experience.
Sent from my SM-S903VL using Tapatalk

Categories

Resources