[GUIDE] The Noobs Guide to Android ROM'ing - Android Software/Hacking General [Developers Only]

Work in progress..
Now the purpose of this guide is only one, to guide you through “cooking” your own stock flashable ROM from a shipped ROM… That’s it. It’s not hard but it does help you start the journey of the real dev work. There are to many "Devs" around that just do something like this guide and copy files from other ROMs to theres, And this DOES NOT make you a Developer so please dont go posting stock deodexed ROMs everywhere and call yourself a Developer
Before starting I’m going to assume you have setup the correct ADB Drivers for your device although not really needed to make a ROM, it does make it easier in the long run.
Once you run through this guide you will have a stock ROM with ROOT permissions, DeoDexed, Zipaligned, Busybox and init.d support. From there you can modify your ROM to your hearts content, all this is doing is making your base. The real Dev work is .smali editing, modifying .xmls making your own apps, etc... This guide will just help you to not rely on other members to release "Stock deodexed ROMs"​
Wording:
ROM = An Android Operating system
Cooking = Making your own ROM
Shipped ROM = A Stock ROM for your device, e.g. a RUU.exe etc…
Kitchen = The Dsixda’s ROM Kitchen
ADB = Android De-Bugging
CWM = Clockwork Mod Custom Recovery
zImage = Kernel controls CPU, Battery etc.
Modem/Radio = Controls cell signal, internet etc.
ROOT = ROOT Permissions, access to the ROOT or / of your device, kind of like the Windows folder on your computer.
DeoDexed = Removing the .odex files from a ROM to allow for .apk customizing e.g. Theming etc..
.apk = Android application file
Init.d = Allows the running of scripts such as Memory tweaks and SD-Card tweaks etc.
SU = Superuser
CMD = Windows Command Prompt
MOD = Modification
Click to expand...
Click to collapse
ADB Short codes that may be helpful later:
Type these directly into your CMD window with your device plugged in.
adb reboot recovery = Reboots your phone straight into recovery mode
adb reboot = Reboots your phone
adb push = use this to push files to your phone, make sure you are in the folder with the file you want to push in CMD (Example, adb push c:\android\SystemUI.apk /system/app)
adb logcat = Tells you what your phone is doing.
adb remount = Remounts the partition specified (Example, adb remount /system)
Note 1:
When making a ROM the overall concept is the same for every device that runs CWM or any other custom recovery. The only main difference is extracting the files you need from the Shipped ROM​
Note 2:
It makes it easier to have a shortcut to your kitchen folder and any others you need in your favourites or dektop​
Part 1. Setting up the “Kitchen”
Go to THIS FAQ and choose the method you prefer to install on. If you are running Windows I recommend the Cygwin way. It’s easier and you don’t need to keep booting between Linux and Windows, You don’t even need Linux if you do it the Cygwin way. And please do get the pictorial guide HERE, it helps A LOT for “noobs” and don’t forget to install the Java JDK if you do Windows Option 1. Keep in mind that doing it on Ubuntu IS much faster.
NOW IF Cygwin is to difficult for you, just download Ubuntu and install it next to windows.
Part 2. Extracting the files you need.
There are a few different ways you can do this, the main ones are:
For HTC Devices
Get a RUU.exe from the internet for HTC Devices and extract the system.img and boot.img
Download the RUU and run it on Windows, proceed until you get to the screen with the picture of the phone, see bellow. – (No you don’t need to plug your phone in)
{
"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"
}
Open your Start Menu on Windows
In the Windows 7 search bar type %temp% and hit enter
In the folder that opens click in the search box in the top right corner and search ROM.zip
Drag ROM.zip to your desktop, open and extract system.img and boot.img to your desktop.
________________________________________________
For ANY Android Device (Or if you cant get them any other way)
Using a backup of a stock ROM, This way gives you the ability to make a ROM from pretty much any device that has CWM installed.
Taking the system.img and boot.img from the backup folder
________________________________________________
For Samsung Devices:
Extracting the following from a Samsung Shipped ROM
factoryfs.img (and optionally: cache.img, zImage, modem.bin)
TAR file containing factoryfs.img (optional: cache.img, zImage, modem.bin)
ZIP file containing factoryfs.img (optional: cache.img, zImage, modem.bin)
Any of these above methods can be used and the extracted files placed in the ORIGINAL_UPDATE folder of the kitchen in the next step. If your device is not compatible with these methods check the device list in this THREAD for more guides.
Part 3. Setting up the working folder.
Now we have the files needed to make our ROM let’s get to it!
Go to your kitchen folder then the original_update folder and place your files in It
Start the kitchen by starting Cygwin and typing cd kitchen then ./menu
Hit option “1. Setup working folder from ROM” press enter again
Select the option you want from the list e.g. “(1) system.img and boot.img”
Rename the folder if you wish but it doesn’t matter, hit enter
If you are working from system.img and boot.img you need to run through the extraction process in next step. Most new ROMs use an EXT4 file system so if you are unsure just hit option “2 – Run Ext2Explore (EXT3/EXT4)” and follow the instructions in the Cygwin window (If you are just using a .zip or .tar etc. you don’t need to do this step.)
When that’s finished hit “3 – I’m finished unpacking / abort”
Finally hit Y to see you working folder details once its run through the process.
Part 4. Add the options you want to add
A good thing to do now is, keep it simple. The kitchen is best to use only for making your ROM base, once you have the .zip file most customizing can be done from there unless you need to edit the boot.img etc. but we are not going to get into that in this guide.
Now, we are going to make a simple ROM base optimized for speed and functionality. Follow the next steps and by the end you will be ready to build the ROM.
The most obvious of all, we will add “ROOT Permissions”. So choose option 2.
Always stick with Chains method so hit option F, this won’t take long at all, wait for it to finish the press enter to continue.
Next add Busybox with option 3, hit Y to continue and enter when finished.
Most people disable boot sounds (option 4), I usually just do it later if I choose to.
Don’t worry about Zipaligning because we will do it when we build the ROM.
Next choose option 0 for advanced options.
If you ROM isn’t already DeoDexed choose option 11
If you wish you can backup both folders but I usually don’t bother.
Then select option B to Deodex BOTH folders, this one will take some time, on an HP Laptop core2duo with 4gig of RAM takes about 15 minutes.
Now add /data/app functionality so choose option 13 and select Y to continue, This allows you to move apps from the system folder to your /data/app folder before the install, which in turn allows the end user to uninstall the apps if they wish. This can ONLY be done with certain apps, like apps you get from the market.. YouTube, Google Maps, Twitter etc. DO NOT put dependent apps like SystemUI.apk etc in the /data/app folder.
Next add the Nano text editor on option 14
Next add Command Shell or “Bash” with option 15
Next add init.d support with option 17 to allow the running of init.d scripts, sometimes you may have to manually add the init.d folder to your ROM at the end or before build, either way it doesn’t matter.
Now we are ready to build the ROM and flash it. Understand that all these are optional, if you want to you can just deodex the ROM and go straight to option 99 and build the .zip file. This is just what I recommend you do
Next go to option 99 when you’re ready to build your ROM.
For now you will choose option 1 “Interactive Mode”
When it asks you to Zipalign your .apk’s you can now choose Y and it will quickly run through and Zipalign all the .apk’s in your build.
Once finished, it will start building you ROM.zip file this may take about 5-10 mins on a slow computer or if your CPU is busy already.
When that’s finished it will ask you to either continue with the updater-script or not, this is always a YES for you guys, so hit Y and move on.
Now we need to Sign our ROM, this is always a YES also
The final step is to either rename your ROM or not, it doesn’t matter if you do it now or just rename the .zip file later, so do what you wish and hit enter.
Congratulations you have made your first ROM! You can now backup your current setup in CWM and flash it from your SD-Card, be sure to do a full wipe if it’s the first time and install it.
Note 1:
Sometimes you may get an error and CWM wont flash it, USUALLY this is because the kitchen has screwed up the updater-script but this doesn’t often happen. If it does take one from another ROM on the SAME DEVICE (<< IMPORTANT) and add it to your ROM.​

Part 5. Further Mods and tweaks:

Resources:

Last one..

Well be the first one to reply this is amazing for a person like me who is in the learning process.

Mr.Oug said:
Well be the first one to reply this is amazing for a person like me who is in the learning process.
Click to expand...
Click to collapse
That's the idea
Sent from my Nexus S using xda premium

Awesome work! I'll be following this interesting thread. Thanks bro!
Sent from my GT-S5660 using XDA Premium App

Thank you very much. I've tried and passed from your guide and do I expect further intermediate and advance guide ?

Can't wait to start on this tonight.
I changed my ics lockscreen on my one with help from someone.
Now i finaly can learn to mod a rom on my own.
THX for the tutorial.
Time to learn more from my android

This tutorial worked like a charm.
Nice to see that everything worked and that i learned a lot from it.
Can wait to see how to mod it all.
Keep updating and i will follow the threats.

730000229 said:
Thank you very much. I've tried and passed from your guide and do I expect further intermediate and advance guide ?
Click to expand...
Click to collapse
Coming soon guys
Sent from my Nexus S using xda premium

A good tutorial for those with HTC devices, the tablets such as those from Samsung do not follow the file structure as before and will require a correct Edify definition file to create an update script that will work.

lorinkundert said:
A good tutorial for those with HTC devices, the tablets such as those from Samsung do not follow the file structure as before and will require a correct Edify definition file to create an update script that will work.
Click to expand...
Click to collapse
The kitchen should still sort it out. I've not had a Samsung tablet but its not going to be that different and if the updater isn't formatted properly compare it to a pre made ROM and see what's different
Sent from my Nexus S using xda premium

hi i have i9100G and i used the guide as written from top to bottm but for my i9100g it ask to change the framework.i tried the guide twice and both times i get stuck at the boot...

manishdev said:
hi i have i9100G and i used the guide as written from top to bottm but for my i9100g it ask to change the framework.i tried the guide twice and both times i get stuck at the boot...
Click to expand...
Click to collapse
What do you mean it asked to change the framework. More details mate. Make sure you have the right base ROM for your device
Sent from my Nexus S using xda premium

I'm definitely gonna try this out. Thanks for the instruction!

I want to follow this but i see no specifics on how to set up the kitchen on an Ubuntu machine, i purposely took one of my older dell latitude d420 and completely removed windows and installed the latest version of ubuntu, which is 11.10. would you please if possible, post some specifics on how to go about setting up the kitchen for an ubuntu machine, the faq links are pretty much windows specific. you said that using ubuntu would be much easier to go about this adventure, and i am dying to try it out, but im stuck, I know i have the java files and i have the android sdk all installed and stuff (or so i think). Any kind of enlightenment would be much appreciated,,,,,,,im refreshing this thread like every 2 minutes.....i really wanna dive into this

kevace1 said:
I want to follow this but i see no specifics on how to set up the kitchen on an Ubuntu machine, i purposely took one of my older dell latitude d420 and completely removed windows and installed the latest version of ubuntu, which is 11.10. would you please if possible, post some specifics on how to go about setting up the kitchen for an ubuntu machine, the faq links are pretty much windows specific. you said that using ubuntu would be much easier to go about this adventure, and i am dying to try it out, but im stuck, I know i have the java files and i have the android sdk all installed and stuff (or so i think). Any kind of enlightenment would be much appreciated,,,,,,,im refreshing this thread like every 2 minutes.....i really wanna dive into this
Click to expand...
Click to collapse
Just skip everything cywgin. Cywgin basically runs Linux commands on Windows
Sent from my ARCHOS 80G9 using xda premium

Everything will be heaps faster if you run it on ubuntu
Sent from my Nexus S using xda premium

so basically just do all comands written and just omit any refeernce to cywgin? when i extract the zip from the kitchen file, i get 3 folders and a "menu" file, and a readme text. what command do i have to use on terminal to start the kitchen?

Related

Update.zip 2.0 Modifier/Creator [Script] Drag/Drop Support [Windows]

This script has 2 main uses:
1. Modify an update.zip
2. Create an update.zip
For #1 - You just extract the contents of an update.zip into the placehere folder, modify its contents, and run the script stating to create an update.zip
For #2 - So far these are the options i have in there for create the update-script
1. Copy directories
2. Copy files
3. Create Symlinks
4. Delete file
5. Delete directory
6. Flash boot image
7. Set permissions for file
8. Set permissions for directory
New Features in 2.0 :
- Set java heap size / compression level for zip
- New drag/drop mode.
>>> - If you drag a folder onto the script's icon (as in Script.bat) it will compress the contents of the folder into a zip and sign it.
>>> - If u drag a zip onto the script's icon (as in Script.bat) it will sign the zip for you.
So this script guides u as u select each option, and adds the appropriate command to the update-script file. Then u exit that sub-menu and create update.zip
Heres a video for a better explanation:
This script is a result of me constantly wanting to modify roms before i flash them & users who are unaware/lost as to creating/modifying update.zips.
Download : [Windows]
Awesome Gotta try it out.
I tried using this to just push a single app into /system/app just to see if it would work, but when I try to flash from recovery I get E:Syntax error in update script
when I open my update script it reads thus:
Code:
package_extract_file("LearnPython_1.1.1.apk", "/system/app/Python.apk")
Do you know what the issue might be?
marsevern said:
I tried using this to just push a single app into /system/app just to see if it would work, but when I try to flash from recovery I get E:Syntax error in update script
when I open my update script it reads thus:
Code:
package_extract_file("LearnPython_1.1.1.apk", "/system/app/Python.apk")
Do you know what the issue might be?
Click to expand...
Click to collapse
Hmm thats wierd. Can u try placing the file inside a folder withing the placehere folder? N then try it. Tell me if tht works, in meantime ill try a example, perhaps the new changes i made broke something
K i figured it out, i forgot to place a ; after the line. Try placing it and then flashing. Ill fix it.
update-script is now
Code:
package_extract_file("LearnPython_1.1.1.apk", "/system/app/Python.apk");
but I still get a syntax error
Edit: I had also tried putting it in a placeholder file, but that didn't help either, even with the added semicolon
Hmm so something seems wrong with my package_extract_file syntax
Even though ive compared it to online update-script samples. Regardless, for now use the copy directories option instead.
marsevern said:
update-script is now
Code:
package_extract_file("LearnPython_1.1.1.apk", "/system/app/Python.apk");
but I still get a syntax error
Edit: I had also tried putting it in a placeholder file, but that didn't help either, even with the added semicolon
Click to expand...
Click to collapse
Retry, cuz i just did it and it works fine.
Created a folder app inside placehere folder
placed my apk inside it
Ran the script, chose option 1
Then chose option 1
Then typed DATA
Then typed app
Then typed app
Then typed 9
Then typed 2
Then flashed the update.zip
Letter Casing matters, if it says SYSTEM or DATA , do that dont do data or system.
Btw, first clear out using the script. So when u run it. type y to clear ur previous work.
marsevern said:
update-script is now
Code:
package_extract_file("LearnPython_1.1.1.apk", "/system/app/Python.apk");
but I still get a syntax error
Edit: I had also tried putting it in a placeholder file, but that didn't help either, even with the added semicolon
Click to expand...
Click to collapse
K i uploaded a fixed one. No file option for now just directory. And added a push to sdcard option. I think wht u were doing was putting it inside a folder and still using the file option.
Yay, it works now. Thank you for creating this and for helping me.
marsevern said:
Yay, it works now. Thank you for creating this and for helping me.
Click to expand...
Click to collapse
Cool, glad to help. Let me know if i can make it more user-friendly
Daneshm90 said:
This script has 2 main uses:
1. Modify an update.zip
2. Create an update.zip
For #1 - You just extract the contents of an update.zip into the placehere folder, modify its contents, and run the script stating to create an update.zip
For #2 - So far these are the options i have in there for create the update-script
1. Copy directories
2. Copy files
3. Create Symlinks
4. Delete file
5. Delete directory
6. Flash boot image
7. Set permissions for file
8. Set permissions for directory
So this script guides u as u select each option, and adds the appropriate command to the update-script file. Then u exit that sub-menu and create update.zip
Heres a video for a better explanation:
This script is a result of me constantly wanting to modify roms before i flash them & users who are unaware/lost as to creating/modifying update.zips.
Download : [Windows]
Click to expand...
Click to collapse
It would be nice if the download link worked and didn't take me to some wierd web sites everytime I click on the download button!
sparksco said:
It would be nice if the download link worked and didn't take me to some wierd web sites everytime I click on the download button!
Click to expand...
Click to collapse
the link works. it's hosted on mediafire and sometime ad page pops up.
sparksco said:
It would be nice if the download link worked and didn't take me to some wierd web sites everytime I click on the download button!
Click to expand...
Click to collapse
sunzoje said:
the link works. it's hosted on mediafire and sometime ad page pops up.
Click to expand...
Click to collapse
Well the reason i do it on something like mediafire is cuz its not xda dependant and that its one of the few sites with no waiting time for downloads. Plus i get to monitor # of downloads, in order to know if something is in demand, hence ill work on improving that.
Daneshm90 said:
Well the reason i do it on something like mediafire is cuz its not xda dependant and that its one of the few sites with no waiting time for downloads. Plus i get to monitor # of downloads, in order to know if something is in demand, hence ill work on improving that.
Click to expand...
Click to collapse
Ok, well I've tried both firefox and IE and they both do the same thing. Can you post a mirror because I've never had any problems with mediafire downloads before? I even logged into mediafire and it still gives me this error:
The website declined to show this webpage
HTTP 403
Most likely causes:
•This website requires you to log in.
What you can try:
Go back to the previous page.
This error (HTTP 403 Forbidden) means that Internet Explorer was able to connect to the website, but it does not have permission to view the webpage.
For more information about HTTP errors, see Help.
sparksco said:
Ok, well I've tried both firefox and IE and they both do the same thing. Can you post a mirror because I've never had any problems with mediafire downloads before? Do I have to log in to mediafire? It gives me this error:
The website declined to show this webpage
HTTP 403
Most likely causes:
•This website requires you to log in.
What you can try:
Go back to the previous page.
This error (HTTP 403 Forbidden) means that Internet Explorer was able to connect to the website, but it does not have permission to view the webpage.
For more information about HTTP errors, see Help.
Click to expand...
Click to collapse
Hmm k sure. Heres an xda attachment.
Did you know you are awesome?
You are awesome
Daneshm90 said:
Retry, cuz i just did it and it works fine.
Created a folder app inside placehere folder
placed my apk inside it
Ran the script, chose option 1
Then chose option 1
Then typed DATA
Then typed app
Then typed app
Then typed 9
Then typed 2
Then flashed the update.zip
Letter Casing matters, if it says SYSTEM or DATA , do that dont do data or system.
Btw, first clear out using the script. So when u run it. type y to clear ur previous work.
Click to expand...
Click to collapse
It works just fine for me too. I just combined Chromatic3.7 rom with httclay's theme by changing the framework.apk and the services.jar files. I also deleted some system apps as well as added a couple of my own. I also put my own bootanimation.zip on there and it works fine.
My first successfull update.zip
Ok so I have messed around with this a lot and I have successfully created a update.zip rom that runs stable. I decided to go with the Chromatic 3.7 rom based off of cm-5.0.8-DS Stable. Feel free to download this and give me your feedback. I take no credit for this rom what so ever. All of the credit goes to Chromersmith and the other devs that made this, not me! This rom is only 1mb larger than the original, about 59mb. What this rom includes:
-reverse nexus style bootanimation (added by me)
-Stock ADWLauncher.apk from cm-5.0.8-DS Stable (has the nexus style launcher, but isn't all themed up. It runs smoother because it isn't as much of a system hog. Added by me)
-apps: Mytouch Music (came with rom not added), 3D Gallery (removed Gallery for same reason), cachecleaner (great for freeing up internal memory), Wireless Tether v2.0.2 for eclair, and of course all the regular stock system apps like YouTube, etc.
And of course you can modify this and re-post your own results as well the same way I did. Isn't that the whole point of this thread?
IMPORTANT! Make sure you read the Chromatic 3.7 thread to get all of the requirements and settings correct after flashing:
http://forum.xda-developers.com/showthread.php?t=679135
I take no responsibility for anyone that breaks their phone because they don't know what their doing!
And of course enjoy:
http://www.mediafire.com/?1zzhoj32oqw
I just finished my second update.zip
Ok so I put a lot more work into this one than I did the first one. This is based off of the CM-5.0.8-DS Stable rom+gapps. I got sick of having to flash the gapps seperatly after flashing the rom, so I just added them in.
-Added the Multitasking OC Kernel and a lot of other things like a black status bar mod, and a custom ADWLauncher icon.
{
"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"
}
-Added other icons to stock apps like music and a few others that I can't remember right now lol.
-Removed the stock Cyanogenmod boot animation and replaced it with the reverse nexus style one (takes up less memory and boots faster, really fast!). Once you get it flashed and get everything set up, reboot your phone and watch how fast it boots up. Mine boots in about a 30 seconds once the boot animation comes on.
Apps included:
-3DGallery (Default Gallery, removed Gallery to save on internal space)
-CacheCleaner (Good system cache cleaner to free up that internal memory!)
-New Phone.apk added from Chromatic3.7 rom (looks very nice btw)
-Wireless Tether v2.0.2 for Eclair roms.
Requirements:
-Danger SPL or Engineering SPL:
If you do not have these or know what they are then do not flash!
-I highly recommend that you have a swap partition of at least 32mb:
If you want this rom to run smoothly, or enable compcache under spare parts app.
Instructions:
-Do Nandroid backup!!!
-I recommend a wipe if your coming from anything other than cm5.0.8-DS based rom, otherwise, just flash it, and then run fix permissions!
-Download and flash as normal:
It will say welcome to cyanogenmod 5.0.8 DS! Do not be alarmed, this is not a stock version of his rom! I did not want to take the credit away from Cyanogenmod and his team for this rom, since I am using so much of it!
-SetCpu:
Install SetCpu. Run app and select auto detect speeds. The kernel on this rom will allow you to overclock way faster than you should. I can run this stably at 614MHz max, and 245MHz min on ondemand. If you go more than this, your phone will probably lock up, and you will have to pull the battery out just to reboot.
-SpareParts:
After Flashing you must change the clock and date color under spare parts found in the settings menu. I changed everything to white because it's a black status bar, but change to whatever color you wish. Also change the Carrier PLMN label color, and the Carrier SPN label color. The only color I change under the notification settings is the Notifications ticker color. Set window animations and transition animations to fast! Check fancy input animations and launcher in memory.
-ADW settings:
Under sreen preferences set Desktop scrolling speed to 0, it's silly fast! Set Desktop overshoot to 50. Select orientation sensor and auto stretch.
Under UI settings check Hide AllApps Bg and Hide AB Bg, and this will make your launcher look much better. Uncheck scrollable widgets unless you use them. Select whatever else you want, I like to select Hide icon labels and closing dockbar as well. The only one I don't check is the tint ab.
Run Firerats Patch:
Download and run Firerats Patch. This will patch things like facebook sync, enable swap partition, and a lot of other things. Dowload and place the fr-patch133.txt file on the root of your sd card. Go to terminal emulator and type "su" and press enter. Type "sh /sdcard/fr-patch133.txt" and press enter. This will bring up a list of commands for the script, along with an example of how the script works. Everything should install correctly unless your don't have a swap partition on your sdcard then it will not install swap. Everything else should install just fine. Once it finishes type "reboot" and your all done! It will take a long time to boot as it is finishing up all of the installations. Be patient and do not interrupt it by rebooting or powering off your phone!
http://forum.xda-developers.com/attachment.php?attachmentid=348484&d=1277328643
Make sure swap or compache is working in terminal emulator. Type "su" and press enter. Type "free" and enter.
I have put a lot of work into this, so that I can use this as a daily driver rom, until a stable froyo release comes out. This rom is really fast once you get it set up correctly. I mean let's face it, we have no idea how long it will take for froyo 2.2 to be realeased. So until then, let's keep on modding!
Disclaimer: I am not responsible if you break you phone because you did not read the requirements or follow the instructions correctly!
Download Link:
http://www.filefactory.com/file/b27a6g7/n/CM-5.0.8-DS-Black-OC-Mod.zip
if we have a lot of files, do we have to write them manually into cmd one by one?

Suvi Tool - A generic android suit for windows - V0.1.13.9.20 (21st Sept)

{
"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"
}
--------- Suvi Tool ----------​
What is this about?
Suvi Tool is a windows based software tool for any android device. It is written in Java and is Open source.
It uses ADB commands in background and lets you do so many things like install app, copy file, Mount filesystem, Manage aplications, backup applications APK and data. Everything from your Windows PC.
What are main features?
Device Information
Get basic device information like Model, Kernel version, linux version, serial number, etc
Get information about different partitions, and space left in each partition (including SD card)
Manage Applications
List all installed applications
Backup APK
Backup application data
Restore APK and data later (like titanium backup)
Nice UI, Filter apps with name, categories, sizes
Sort on various options
Batch backup/restore as well as single app backup/restore
Freeze/Unfreeze apps (batch or single)
Uninstall apps
Kill apps
Clear application data
Copy Files
Copy file from computer to device
Change permissions to the copied file
Copy file from device to computer
copy whole directory from device
Drag and Drop of files supported
Install APK from computer
Install apk file stored on computer
Install APK as system app or on SD card as well
Drag and Drop of apk file supported
Create CWM of your apps and data
Yes you can select applications and create CWM package
Application data can be included in the CWM zip
Push the CWM.zip to sdcard automatically.
Manage build.properties file
View build.properties file on device
Change it and save back to device
Inbuilt options to add in build.properties
like Kernel and JVM tweaks, network tewaks, performance tweaks
Select the checkbox of the tweak you want, it will be added to build.properties file
change DPI
Reboot Device
Reboot into Recovery or normal reboot
Mount /system writable
View LOG
Clear logs on UI
Auto scroll, or truncate long lines
Change max length of the lines of logs
Everything from your PC!!!
OK I got it. How do I use it?
Download the Suvi Tool
Extract it in a folder
Run SuviTool.exe
What are prerequisites?
Your PC should have required drivers installed
Java (1.5+) 32 bit
Enable USB Debugging on phone
Root
Busybox installed
(No you don't need ADB, its built in the tool)
Cool! Who are target users?
Any one
A developer
A tester
A regular user
This sounds very generic, why its posted in A110 section?
TBH, I have not tested this on other devices
Depending on the feedback, I will take it to generic level for all the devices and Linux platform as well.
Where to download?
**Before download, you can express your thankfulness by clicking 'Thanks' button on any (or all) of my posts here.**
Download - See 'Downloads' tab or Suvi Tool V0.1.13.9.20 Alpha - LATEST
Changeog
File trensfer fix - now copy files to /system locations with root
Cancellable tasks...now cancel button works
UI modifications (Minor)
Some more bugs
Download - Suvi Tool V0.1.13.9.18 Alpha
Where are the sources?
PM me and I will provide source code.
** This is not related to Suvi ROM **
XDA:DevDB Information
Suvi Tool - A generic android suit for windows - V0.1.13.9.20 (21st Sept), a Tool/Utility for the Micromax A110
Contributors
bsuhas, bsuhas
Version Information
Status: Alpha
Created 2013-09-24
Last Updated 2013-09-24
Screenshots​
Device Information
Application Manager
Sort
Filter
File Transfer
Build.prop editor
Log Viewer
Known issues, Bugs​
There would be many bugs, this is alpha version. But the basic functions are tested and useful.
To name few -
SMS and contacts data backup may not work fully.
Data restore across android version (like ICS to JB) may not work
Etc...
The Mechanism of ADB Commands
Internally, the tool uses all ADB commands. These commands are not hard-coded in the source files but externalized to a XML file.
Open SuviTool\resources\ADBCommands-config.xml to see the details.
A normal ADB command is defined as
Code:
<command type="adb">
<id>COPY_TO_DISK</id>
<args>
<arg name="device-path"/>
<arg name="disk-path"/>
</args>
<expected-result type="not-starts-with">remote object</expected-result>
<exec-lines>
<line>pull</line>
<line>"${device-path}"</line>
<line>"${disk-path}"</line>
</exec-lines>
</command>
This command will take 2 arguments and will run as adb.exe pull "src.path" "dest.path"
A ADB shell command is defined as
Code:
<command type="shell">
<id>GET_PROPS</id>
<expected-result type="not-empty"/>
<exec-lines>
<line>getprop</line>
</exec-lines>
</command>
This command will not take any arguments and will run as adb.exe shell getprop
A command sometimes requires su permissions. Like this -
Code:
<command type="shell" force-su="true">
<id>ENABLE_PKG</id>
<args>
<arg name="pkg"/>
</args>
<expected-result type="ends-with">new state: enabled</expected-result>
<exec-lines>
<line>pm enable ${pkg}</line>
</exec-lines>
</command>
This command will take 1 argument of the package and un-freeze the application.
Further more, the shell commands will be sequenced - means they can be executed in sequence.
Code:
<command type="shell-sequence" force-su="true">
<id>CHMOD_RWRR</id>
<expected-result type="not-empty"/>
<args>
<arg name="file"/>
</args>
<seq-command id="CHMOD">
<command-arg>644</command-arg>
<command-arg>${file}</command-arg>
</seq-command>
</command>
This command will change the permission of a file to 644 (rwrr) by internally executing CHMOD command (which is defined as shell command in the same XML file)
Cool!!!!
Looks like you have done so much of work, how can I help/support you?
Sure, you can express your thankfulness by clicking 'Thanks' button on any (or all) of my posts here.
Also, you can donate to me if you feel so -
You can buy me a coffee
OR
Use Donate button here on left side.
OR
Click here - http://forum.xda-developers.com/donatetome.php?u=4396693
Customizations​
Add build.prop tweaks
You can add you own build.prop tweak which will reflect on the UI build.properties editor tab. You can use it in your development.
Open SuviTool\resources\Build.prop_tweaks.xml file and follow the procedure
Code:
<tweak category="__This will be the tab name on the editor__"
description="__This will be property header (name)__"
show-props="true/false __This will show/hide the actual property text form UI__">
<property id="your.build.prop1"
type="string (if text values), toggle (if ON/OFF type)"
defaule-value="__default value__"
on-value="__true/1/on or whatever for toggle__" off-value="__false/0/off or whatever for toggle__"/>
<property Repeat the property tags/>
</tweak>
For example, to add the Bravia engine tweak under the 'Addon Packs' category
Code:
<tweak category="[COLOR="Red"]Addon pacs[/COLOR]" description="[COLOR="red"]Bravia engine[/COLOR]" show-props="disabled">
<property id="ro.service.swiqi2.supported" type="toggle" defaule-value="true"/>
<property id="persist.service.swiqi2.enable" type="toggle" defaule-value="1"/>
</tweak>
It will be shown as
Example2:
This tool is very helpful keep it up
Cool... Thanks.. :good:
Just finished creating OP, yet got 6 downloads....Expecting a review soon.
will try.. and review soon.. thank you sir..
Ohhhh Finally You posted the Tool
@bsuhas
Sir,
Finally you posted the tool. Every time while viewing your signature I was wondering that where have you posted the tool that I am not able to get. So this was the project you were working on Sir. Or there is some more surprises for us.
Just Downloading it and will review it in few minutes, though for full review we need at least two days time.
BTW It seems to be great like SUVI-Heart. Let me find out more from it.
Thanks for this awesome work. Not in a good position or I will surely prefer for donating you.
BOND1987 said:
@bsuhas
Sir,
Finally you posted the tool. Every time while viewing your signature I was wondering that where have you posted the tool that I am not able to get. So this was the project you were working on Sir. Or there is some more surprises for us.
Just Downloading it and will review it in few minutes, though for full review we need at least two days time.
BTW It seems to be great like SUVI-Heart. Let me find out more from it.
Thanks for this awesome work. Not in a good position or I will surely prefer for donating you.
Click to expand...
Click to collapse
Yeah. I updated my signature to this thread. This tool is a revised boosted enhanced version of old tool AAM (aka Android application manager)
Its more than 6 months work in the Suvi Tool. If you see the amount of source code written, you will get surprised.
It is going to be a famous universal software android tool for sure,wonderful job,hats off :thumbup::thumbup: :thumbup::thumbup::thumbup:
Sent from my A110 using xda app-developers app
showstopper1 said:
Brother if you make this tool universal to all devices for sure it will be a mega hit,wonderful job,hats off :thumbup::thumbup::thumbup:
Sent from my A110 using xda app-developers app
Click to expand...
Click to collapse
It is a universal. I just have not released on that level. I will do it soon. Let it be more robust here first.
bsuhas said:
It is a universal. I just have not released on that level. I will do it soon. Let it be more robust here first.
Click to expand...
Click to collapse
Will tell my friends about this tool as they are not familiar using their android ui
Sent from my A110 using xda app-developers app
I recommend you post it on Android Section so that it will reach Public's Great Work by the Way
Initial Reviews
@bsuhas
Sir,
I must say its a hard work of yours -- SUVI Universal Android Tools
Truly you are genius of Java Sir. First Thing to say, seriously everyone will love using it. But Sir, you are kicking the apps like ROM Manager, Rom Toolbox and other root apps doing same and killing mobiles spaces.
The UI is wonderful. Was thinking, that if you could do something to Dsixda's Android Kitchen's UI also. Personally felt.
The works and intial ornaments for build.prop tweaks are good for a noob like me also. Through that I managed proximity sensor of the 4.2 ROM and its working. Then rebooted through the tool. Everything I found to be great and after all its a SUVI-Heart Tool. Got something I will never skip using till the time I will be in this Android.
Once again I will like to thank you for the awesome work. Just great to have it and feeling like a dev after using the build.prop tweaks from that.
Bug :-
I got this while starting the program every time but it works cool and no effect on tool for this error.
"The program can't start because MSVr100.dll is missing from your computer. Try reinstalling the program to fix this problem."
bsuhas said:
It is a universal. I just have not released on that level. I will do it soon. Let it be more robust here first.
Click to expand...
Click to collapse
looks to be good. wish you well...
BOND1987 said:
@bsuhas
Sir,
I must say its a hard work of yours -- SUVI Universal Android Tools
Truly you are genius of Java Sir. First Thing to say, seriously everyone will love using it. But Sir, you are kicking the apps like ROM Manager, Rom Toolbox and other root apps doing same and killing mobiles spaces.
The UI is wonderful. Was thinking, that if you could do something to Dsixda's Android Kitchen's UI also. Personally felt.
The works and intial ornaments for build.prop tweaks are good for a noob like me also. Through that I managed proximity sensor of the 4.2 ROM and its working. Then rebooted through the tool. Everything I found to be great and after all its a SUVI-Heart Tool. Got something I will never skip using till the time I will be in this Android.
Once again I will like to thank you for the awesome work. Just great to have it and feeling like a dev after using the build.prop tweaks from that.
Bug :-
I got this while starting the program every time but it works cool and no effect on tool for this error.
"The program can't start because MSVr100.dll is missing from your computer. Try reinstalling the program to fix this problem."
Click to expand...
Click to collapse
You will feel more like developer after reading this guide
http://forum.xda-developers.com/showpost.php?p=45702603&postcount=5
All please see this guide to see the power of the tool.
bsuhas said:
You will feel more like developer after reading this guide
http://forum.xda-developers.com/showpost.php?p=45702603&postcount=5
All please see this guide to see the power of the tool.
Click to expand...
Click to collapse
WOW! I am a C# developer, and looking at that link and the tool I'm amazed how much work and effort you must have put into this tool! Great work bro! I'm sure this tool will go a really long way....... :good:
ibshar said:
WOW! I am a C# developer, and looking at that link and the tool I'm amazed how much work and effort you must have put into this tool! Great work bro! I'm sure this tool will go a really long way....... :good:
Click to expand...
Click to collapse
This will definely blow your mind. Best part of the Suvi Tool source code.
http://forum.xda-developers.com/showpost.php?p=45702551&postcount=3

(Newbies) Cooking a Rom with a Kitchen

The purpose of this guide is to show users here in our Forum how to use the DSIXDA kitchen so that they may become familiar with cooking their own Roms and possibly becoming a valuable asset to our community down the road. So I hope to see this become useful for some of you willing to learn and well, to also not be lazy and expecting others to do the work for you - no pun intended lol.
Let's understand what a basic Rom contains:
- First and foremost, a Rom.zip will always have at minimum:
-- A boot.img at the root of the Rom.zip
-- A /system folder
-- A /META-INF folder
{
"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"
}
--- Now, I assume you already have done me the favor of installing the kitchen and so by therefore, saving me the trouble of having to explain the process of installation. It's simple. Moving along now.
--- Go ahead and get the kitchen up and running in your CMD Window. I will be using Ubuntu in reference to this guide but the same should also apply to those who prefer Windows/Cygwin.
As you see in your CMD Window there are some options with basic information as to what those options will do for you.
The first thing we need to do is set up our working folder which will be option number 1, but before we can do that we need a Rom to work with. There are many ways to getting your hands on a Rom. However, for the sake of this tutorial I will use a Nandroid Backup created by TWRP (Custom Recovery).
-- Please note that a TWRP system backup will require additional steps.
-- This is because the kitchen does not support its backup format.
--- Go ahead and make a copy of your boot and system backup and paste them in the original_update folder which can be found in the kitchen directory. From a 'TWRP backup' the boot.img will be originally named boot.emmc.win and the system.img will originally be named system.ext4.win. Go ahead and change them respectively to boot.img and system.img (It is that easy).
--- Now, create a folder and name it whatever you like, BUT the name MUST include WORKING_ at the beginning of its name.
-- An example: WORKING_k2cl_412_deodexed
--- Move the boot.img in to the created folder. Open up the working folder and create another sudirectory folder named system.
--- Go ahead and move the system.img in to the subdirectory folder named system located inside of your working folder.
--- Open up a new CMD Window and change directories to where the system.img is currently located at.
--- Go ahead and enter:
Code:
tar -xvf system.img
-- This will unpack the system backup made by TWRP
-- DSIXDA Kitchen does not currently support this format so YOU must do it.
--- As you can see, the system folder is now complete with all that you will need to start on your Rom. Go ahead, and remove the actual system.img file as it will not be needed now.
--- Go back to the CMD Window which has the kitchen up and running. Select option 1 to set up your working folder for the kitchen. It will give options to show supported formats or to abort. Go ahead and just press enter.
--- It will bring up a list of working materials to use for establishing your working folder for the kitchen. In my case, the working folder I will be using is option number 2, WORKING_k2cl_412_deodexed. Go ahead and select your option now.
--- It will ask you if you want to change the name of the new working folder. The option is yours. Choose yes or no (this part really doesn't matter).
--- Once you press enter it will create the new working folder which can be found at the root of the kitchen directory. It will be copying the contents over to the new working folder.
--- It will detect whether or not your rom has an updater script, symlinks, root, busybox, etc. If any of these are detected it will let you know it found them and it will adjust accordingly to them. Which saves you lots of time.
--- Now it will ask you if you would like to view the Rom's information. This is optional for you. If you want to see it then select yes, if not, then select no.
--- Congratulations! You have a Rom set up to be worked on! At this point you can choose to deodex your Rom, unpack and edit your boot.img, root your device both, /system and boot.img. Add additional tweaks, apply init.d support, etc.
--- Once you have finished playing with your Rom as a first timer, go ahead and back out to the main menu of the kitchen. Select number 99 to build your Rom from the working folder.
--- You will be asked to select a build option. Go ahead and select option number 1.
--- Select yes to zipalign your apk files
--- Next it will build your updater-script for your Rom based on an android device. It will ask you to review the updater-script before proceeding forward. You MUST insure the updater-script is ready for your device or it will not flash!
--- Go to the working folder of that rom and scroll the the subdirectories found in the META-INF folder until you see the updater-file. Open it up with notepad++ for Windows users or Gedit for linux users. You are going to look at the top and add the following (PLEASE INSURE YOU USE THE PROPER SYSTEM PARTITION FOR YOUR DEVICE - THIS EXAMPLE IS BASED ON MY K2_CL DEVICE!:
Code:
mount("ext4", "EMMC", "/dev/block/mmcblk0p35", "/system");
delete_recursive("/system");
package_extract_dir("system", "/system");
--- Now scroll to the bottom of the updater-script. You may see some crazy stuff about raw writing the boot.img. Go ahead and remove that mess and replace it with the following (PLEASE INSURE YOU USE THE PROPER BOOT PARTITION FOR YOUR DEVICE - THIS EXAMPLE IS BASED ON MY K2_CL DEVICE!:
Code:
package_extract_file("boot.img", "/dev/block/mmcblk0p20");
--- Once done, go ahead and save the updater-script file. Go back to the CMD window running the kitchen and select yes to keep the updater-script for the Rom.
--- It will create the update.zip, it will ask you to sign the Rom (say yes), then it will ask you if you wish to change its name or leave it as is (your choice).
--- Congratulations, now go ahead and flash your Rom to test it out. Be sure to Factory reset your device from within the custom recovery, and insure that the system partition is wiped also. After it is done flashing the rom, wipe the dalvik and cache before rebooting, and remember... Any problems without a logcat is trivial!!!
--- Happy Hunting!!
That's my pet lizard, Saucy. He keeps me company, haha.
Sent from my C525c using Tapatalk
Thanks man. This is exactly what I wanted to get me going. It's late for me but I'll definitely be checking this guide out tomorrow.
Good luck. I used a TWRP backup as an example because it requires extra steps. Any other time, like a system dump for example, the kitchen will detect it and be able to unpack the system.img for you automatically, but because of how TWRP formats the ext4 backups it must be done manually since the kitchen doesn't support it yet. Just some insight so you know that you don't always have to manually unpack the system.img.
Sent from my C525c using Tapatalk
If a normal system img aside from TWRP then all is required is naming them boot.img and system.img then placing both inside of the 'original_' folder then running the kitchen. Select option 1 and it should detect both. It will build the working folder, the subdirectory system folder, meta-inf folder, place the boot.img, and unpack the system.img automatically. For future reference.
Sent from my C525c using Tapatalk
also, for the "newbies" including me,
http://forum.xda-developers.com/showthread.php?t=2597220
[KITCHEN][FORK] Android Kitchen Continuation (WIP) [Linux / Mac / Windows]
here's a link to a more up to date kitchen, I haven't used it but it seems legit.
Haha, just took a look at it. Most of the added features I have already done for my personal use. Guess I can hit this guy up with some ideas. Thanks for that link @russellvone
Sent from my C525c using Tapatalk
Top priority is adding support for TWRP backups, and looking into implementing the ability to re-odex the Rom. It can be done, despite that the founder says otherwise.
Sent from my C525c using Tapatalk
Oh, and don't no one take offense to my title, "Newbies". Meant nothing insulting by it. Just used it regarding that maybe you are new to it. We all got to start somewhere.
Sent from my C525c using Tapatalk
If you ran through and deodexed, did you by chance get an error when it attempts to deodex HTCNotes?
Here's what I'm getting:
Code:
NOW AT FILE 1 OF 1 IN system/app: HtcNotes.odex
Disassembling HtcNotes.odex ...
java -Xmx512m -jar baksmali.jar -a 17 -d ../framework -x HtcNotes.odex
Error while disassembling method Lcom/htc/notes/detail/NotesDetailActivity$13;->handleMessage(Landroid/os/Message;)V. Continuing.
org.jf.dexlib.Code.Analysis.ValidationException: Could not resolve the method in class Lcom/htc/widget/HtcSeekBarPopupWindowListener; at index 75
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInvokeVirtualQuick(MethodAnalyzer.java:3655)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:1110)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:213)
at org.jf.baksmali.Adaptors.MethodDefinition.addAnalyzedInstructionMethodItems(MethodDefinition.java:389)
at org.jf.baksmali.Adaptors.MethodDefinition.getMethodItems(MethodDefinition.java:311)
at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.java:132)
at org.jf.baksmali.Adaptors.ClassDefinition.writeMethods(ClassDefinition.java:338)
at org.jf.baksmali.Adaptors.ClassDefinition.writeVirtualMethods(ClassDefinition.java:310)
at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java:117)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:186)
at org.jf.baksmali.main.main(main.java:308)
opcode: invoke-virtual-quick/range
CodeAddress: 1478
Method: Lcom/htc/notes/detail/NotesDetailActivity$13;->handleMessage(Landroid/os/Message;)V
ERROR: Aborting HtcNotes.odex
Finished system/app
WARNING: Could not deodex the following (you can try to deodex these files again):
HtcNotes.odex
I've already tried again too
@palmtree5
Is your Rom 4.1.2 or 4.2.2?
Sent from my C525c using Tapatalk
Modding.MyMind said:
@palmtree5
Is your Rom 4.1.2 or 4.2.2?
Sent from my C525c using Tapatalk
Click to expand...
Click to collapse
4.1.2
@palmtree5
Thought so lol.
You are getting that error because you are using API 17 setting for a 4.1.2 Rom. 4.1.2 is built on 16. Change it to 16 and try it again.
Sent from my C525c using Tapatalk
Modding.MyMind said:
@palmtree5
Thought so lol.
You are getting that error because you are using API 17 setting for a 4.1.2 Rom. 4.1.2 is built on 16. Change it to 16 and try it again.
Sent from my C525c using Tapatalk
Click to expand...
Click to collapse
Now why didn't I think of that!
---------- Post added at 01:54 PM ---------- Previous post was at 01:33 PM ----------
palmtree5 said:
Now why didn't I think of that!
Click to expand...
Click to collapse
Ok, the deodexing worked out fine after that
@palmtree5
Just a heads up...
When you go to flash your deodex Rom, it will take forever to boot up for its first intial boot. Afterwards, it will boot up at normal timing. So when you flash it and it goes through the bootanimation then hangs on the HTC logo, be patient. Don't pull the battery lol.
Sent from my C525c using Tapatalk
Should take no more than 5 to 10 minutes at most given my personal experience.
Sent from my C525c using Tapatalk
Modding.MyMind said:
@palmtree5
Just a heads up...
When you go to flash your deodex Rom, it will take forever to boot up for its first intial boot. Afterwards, it will boot up at normal timing. So when you flash it and it goes through the bootanimation then hangs on the HTC logo, be patient. Don't pull the battery lol.
Sent from my C525c using Tapatalk
Click to expand...
Click to collapse
Yeah, fairly certain I've used deodexed roms before on other devices, just never deodexed one myself
palmtree5 said:
Yeah, fairly certain I've used deodexed roms before on other devices, just never deodexed one myself
Click to expand...
Click to collapse
Nice
Just making sure bro lol. Didn't want you coming back panicking under the assumption you may had not been aware.
Sent from my C525c using Tapatalk
Modding.MyMind said:
Nice
Just making sure bro lol. Didn't want you coming back panicking under the assumption you may had not been aware.
Sent from my C525c using Tapatalk
Click to expand...
Click to collapse
Right. Better to err on the side of caution
I'm bumping this thread because I am seeing A LOT OF PEOPLE ON HERE having troubles fixing their devices and for whatever the reason may be it seems to be with a LOT of these twrp backups people are grabbing from others because they either lost theirs or never made one from the get go (horrible decision).
So, if you are having troubles restoring with a backup then this guide should help you make up a quick Rom and get your device back.
You aren't looking to do anything fancy with the "kitchen" but to just build a quick odex or deodex Rom to flash and be up and running again.
Please take advantage of this if all else is failing for you.
IT IS NOT THAT HARD TO DO
--- Happy Hunting!!!
Sent from my C525c using Tapatalk

[Tool] Cwm nandbackup file Extractor ( .img/ .tar files )

CWM nandbackup files extractor ( .img/ .tar) ​
Here are the few things/ questions raised
The tool has been upgraded and you can get them here Utility tool
How do i extract the data.ext4.tar ?
How to combine all the *.ext4.tar *.ext4.tar.a , *.ext4.tar.b, *.ext4.tar.c ?
How to get my applications / data from the backup filesof CWM ?
Don't worry for the above question you are facing. This tool will help you out.
Requirements
Java JDK :good:
Need Patience :silly:
How to use
Extract the tool.zip and follow up the pics and your work is done
{
"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"
}
Hope this tool may help some one . and Don't Forget to hit thanks button. have fun
Download
You can also extract the data.img , system.img files on by placing the files to image files folder
Here is the download of the tool at bottom this post
Have fun
Perfect tool Thank you for your hard Word. Now everthing is very easy
The tool which I have been waiting for...works like charm!!
Thank for providing us this tool.
Gonna try to make GUI for this tool.
needed from ages
well first of all congrats for this wonderful tool it was much needed right from the beginning. plus i like your profile pic lol its my fav "KICK"...
will this work on twrp?
or it has different backup file type?
I just switched to twrp but not yet trying nandroid
Perfect tool!! This is really gonna help me with my custom rom instead of trying to copy the /system files one by one to my internal storage.
i'll be waiting for os x version as well (since i don't always run windows)
great tool btw
and congrats for making it to the portal
Error:'Tar' is not recognized as an internal or external command. And also 'cat'.
Where do these commands exist? are they exe files present somewhere in the java jdk folder?
Before you ask. Yes i have installed java jdk.
Do I have to setup the environment variables?
LastStandingDroid said:
i'll be waiting for os x version as well (since i don't always run windows)
great tool btw
and congrats for making it to the portal
Click to expand...
Click to collapse
sure i will do that when i am free..........
zamzameir said:
will this work on twrp?
or it has different backup file type?
I just switched to twrp but not yet trying nandroid
Click to expand...
Click to collapse
I haven't tested but there is nothing more difference between the files. hope it works
dattafilthyd said:
Error:'Tar' is not recognized as an internal or external command.
Before you ask. Yes i have installed java jdk.
Do I have to setup the environment variables?
Click to expand...
Click to collapse
the common softwares are 7z / winrar / winzip are minimum requirement ( i have not listed these because these are very commonly used by every user )
Only cwm or twrp too?
venkat kamesh said:
The common softwares are 7z / winrar / winzip are minimum requirement ( i have not listed these because these are very commonly used by every user )
Click to expand...
Click to collapse
All of them are installed bro. (i.e 7z winrar and winzip)
The bat file you've careated is unable to find 'tar' command. Is it necessary that i place it in a particular location like c drive as such.?
['tar' is not recognized as an internal or external command]
suggestions?
EDIT: I used the cygwin terminal to concatenate [cat] the tar files and i was able to open them combined file via 7z and winrar.
code: cat data.ext4.tar data.ext4.tar.a data.ext4.tar.b data.ext4.tar.c > datafull.tar
Thank you.
the_vanya1 said:
Only cwm or twrp too?
Click to expand...
Click to collapse
i havent tested but hope it works good
dattafilthyd said:
All of them are installed bro. (i.e 7z winrar and winzip)
The bat file you've careated is unable to find 'tar' command. Is it necessary that i place it in a particular location like c drive as such.?
['tar' is not recognized as an internal or external command]
suggestions?
Click to expand...
Click to collapse
there is no particular location to be place.... :good:
may be binaries get corrupted try to install this tool :- http://gnuwin32.sourceforge.net/packages/gtar.htm
it would help you out for using this tool
Error:'Tar' is not recognized as an internal or external command
venkat kamesh said:
You can also extract the data.img , system.img files on by placing the files to image files folder
Here is the download of the tool at bottom this post
Have fun
Click to expand...
Click to collapse
you know, this is an excellent utility, will come handy....what I always thought about is, converting andbackup files into flashable zip - say using your tool, you extracted, and then remove or add or made some changes on it, and then converting to flashable zip..., if you make an ultimate utility tool, imaging that you did nandroid backup of your stock ROM with custom recovery, having a tool to extract it (your utility), and then if you wish deodexed it, and then last step put all into CWM flashable zip....now if you combine all this steps, you will end up ultimate best utility tool ever... I f...king even pay or donate for it...
the_vanya1 said:
Error:'Tar' is not recognized as an internal or external command
Click to expand...
Click to collapse
you need to install 7zip/winzip ( any one of them ) read the previous post
please ready the posts so there you get a solution
jazzespresso said:
you know, this is an excellent utility, will come handy....what I always thought about is, converting andbackup files into flashable zip - say using your tool, you extracted, and then remove or add or made some changes on it, and then converting to flashable zip..., if you make an ultimate utility tool, imaging that you did nandroid backup of your stock ROM with custom recovery, having a tool to extract it (your utility), and then if you wish deodexed it, and then last step put all into CWM flashable zip....now if you combine all this steps, you will end up ultimate best utility tool ever... I f...king even pay or donate for it...
Click to expand...
Click to collapse
thank you for your great idea which is very worth
i had finally made that tool which has options like
1. extract data
2.extract system
3.deodex/ signed zip/zipalign
4.odexed /signed zip/zipalign
5.image file extraction
6. signer
7. odex/deodex invividual
the odex/deodex have different options like
if you extract the system file. it ask an option to odex/deodex . if you need to deodex that it will continue to deodex / zipalign/ signed which will be worked. and same as with odex..
if you dont have any imagefile extracted . there is an option that you can pull from the device and works as same above process
you can sign the zip/zipaline individually as per needed.
hopefully it works on all devices like ( sony, lg, samsung and almost all )
no specification of roms ( every rom is supported )
works for all version of android ( from 2.2 to 4.4.4)
thank you @jazzespresso for this idea
going to post as soon as possible
venkat kamesh said:
thank you for your great idea which is very worth
i had finally made that tool which has options like
1. extract data
2.extract system
3.deodex/ signed zip/zipalign
4.odexed /signed zip/zipalign
5.image file extraction
6. signer
7. odex/deodex invividual
the odex/deodex have different options like
if you extract the system file. it ask an option to odex/deodex . if you need to deodex that it will continue to deodex / zipalign/ signed which will be worked. and same as with odex..
if you dont have any imagefile extracted . there is an option that you can pull from the device and works as same above process
you can sign the zip/zipaline individually as per needed.
hopefully it works on all devices like ( sony, lg, samsung and almost all )
no specification of roms ( every rom is supported )
works for all version of android ( from 2.2 to 4.4.4)
thank you @jazzespresso for this idea
going to post as soon as possible
Click to expand...
Click to collapse
yeah making it work for all devices going to be quit challenging, there are, as you may know, too many odex/deodex tools here in XDA, but none are bug free. In fact, I always end up some kind of error during deodexing, so this part is always painful process no matter what devices you have, and you know people using Windows, Linux, Mac..etc, this puts more complexity to entire process.
but you have to start from somewhere, right?
hopefully, this process of yours grow into some nice utility that combines all other tools into one.:good:
Needless to say, good job and very much appreciated releasing it here in XDA community!
venkat kamesh said:
.....i had finally made that tool which has options........
......going to post as soon as possible.......
Click to expand...
Click to collapse
that's some spread - the menu :good: bring it on!
Already did it sir, and i use winrar
jazzespresso said:
yeah making it work for all devices going to be quit challenging, there are, as you may know, too many odex/deodex tools here in XDA, but none are bug free. In fact, I always end up some kind of error during deodexing, so this part is always painful process no matter what devices you have, and you know people using Windows, Linux, Mac..etc, this puts more complexity to entire process.
but you have to start from somewhere, right?
hopefully, this process of yours grow into some nice utility that combines all other tools into one.:good:
Needless to say, good job and very much appreciated releasing it here in XDA community!
Click to expand...
Click to collapse
m0han said:
that's some spread - the menu :good: bring it on!
Click to expand...
Click to collapse
thank you and here is a pic that i am testing all the things i found no errors and still testing
because it need to be perfect

[GUIDE] Rooting the Moann inkPalm 5

Follow anything in this guide at your own risk. I will not accept any responsibility if you are left with a bricked device, and/or a device that is damaged or impaired in some way. These steps are a reconstruction of what I was doing - I haven't actually tested the exact files attached, which should be more cleaner than the ones I was working with.
The inkPalm 5 is a 5.2" eReader with an Allwinner 32-bit ARM B300 CPU and 1GB RAM running Android 8.1 sold in China under Xiaomi's Moaan brand.
This involves writing a file to /system, which may prevent you from installing future OTAs. Be warned that the firmware for this device cannot be downloaded, so you could end up with an unrepairable brick!
Make sure ADB is setup first.
Download dump_kernel_to_system_signed.zip
Reboot the inkPalm into recovery mode :
Code:
reboot recovery
Use the touch screen and/or volume + power buttons to choose the "Apply update from ADB" option
On the computer, run
Code:
adb sideload path\to\dump_kernel_to_system_signed.zip
(making the obvious substitution)
When it's done, choose the first option in the recovery (reboot system now) to boot back into Android
Back in an adb shell, run
Code:
cp /system/bimg.img /sdcard/
Install the Magisk APK
Open Magisk, tap install
I don't think the AVB/dm-verity option needs to be checked, so I left it unchecked. YMMV. The inkPalm doesn't encrypt itself even if you enable a PIN.
Choose bimg.img from your storage and let Magisk do its thing
Transfer the magisk_patched*.img file in your Downloads folder onto the PC
Flashing the patched kernel image with recovery
Rename your magisk_patched.img file to boot.img
Using your favourite archive manager, add your boot.img to the root folder of kernel_flashing_template.zip
In a command prompt, run
Code:
java -jar signapk-1.0.jar -w testkey.x509.pem testkey.pk8 kernel_flashing_template.zip kernel_flashing_template_signed.zip
(If you run into problems, make sure you have JRE 8 installed.)
Reboot back into recovery and
Code:
adb sideload
kernel_flashing_template_signed.zip
Reboot back into Android and hopefully you should have a rooted inkPalm with Magisk
(Flashing with fastboot should work, but I've not tested that.)
EDIT: You can find an extended guide at https://github.com/qwerty12/inkPalm-5-EPD105-root with steps for installing microG.
qwerty12 said:
Follow anything in this guide at your own risk. I will not accept any responsibility if you are left with a bricked device, and/or a device that is damaged or impaired in some way. These steps are a reconstruction of what I was doing - I haven't actually tested the exact files attached, which should be more cleaner than the ones I was working with.
The inkPalm 5 is a 5.2" eReader with an Allwinner 32-bit ARM B300 CPU and 1GB RAM running Android 8.1 sold in China under Xiaomi's Moaan brand.
This involves writing a file to /system, which may prevent you from installing future OTAs. Be warned that the firmware for this device cannot be downloaded, so you could end up with an unrepairable brick!
Make sure ADB is setup first.
Download dump_kernel_to_system_signed.zip
Reboot the inkPalm into recovery mode :
Code:
reboot recovery
Use the touch screen and/or volume + power buttons to choose the "Apply update from ADB" option
On the computer, run
Code:
adb sideload path\to\dump_kernel_to_system_signed.zip
(making the obvious substitution)
When it's done, choose the first option in the recovery (reboot system now) to boot back into Android
Back in an adb shell, run
Code:
cp /system/bimg.img /sdcard/
Install the Magisk APK
Open Magisk, tap install
I don't think the AVB/dm-verity option needs to be checked, so I left it unchecked. YMMV. The inkPalm doesn't encrypt itself even if you enable a PIN.
Choose bimg.img from your storage and let Magisk do its thing
Transfer the magisk_patched*.img file in your Downloads folder onto the PC
Flashing the patched kernel image with recovery
Rename your magisk_patched.img file to boot.img
Using your favourite archive manager, add your boot.img to the root folder of kernel_flashing_template.zip
In a command prompt, run
Code:
java -jar signapk-1.0.jar -w testkey.x509.pem testkey.pk8 kernel_flashing_template.zip kernel_flashing_template_signed.zip
(If you run into problems, make sure you have JRE 8 installed.)
Reboot back into recovery and
Code:
adb sideload
kernel_flashing_template_signed.zip
Reboot back into Android and hopefully you should have a rooted inkPalm with Magisk
(Flashing with fastboot should work, but I've not tested that.)
Click to expand...
Click to collapse
As far as I could gather, with both USB connection and developper mode on, ADB conncection is explicitely rejected. Besides, there is, on InkPalm, below the usuals USB checks, one that reads "...ADB/ADT..." which cannot be checked. The connetion request by wireless ADB, supplying the correct address, is also rejected.... As though the device needed be rooted first !
I haven't tested using ADB over Wi-Fi, but I can honestly say I have had no issues using ADB over USB on the inkPalm. ADB was enabled by default on mine, and not to mention the security of it has been weakened - you don't even need to approve ADB connections for the first time...
So, since mine seems to reject ADB on both USB and WI-FI, what would you suggest to try as next --and desperate ? I cannot find any reference to the manufacturer that would eventually grant me permissions-- step ?
So long,
Sixto Quesada
Bis -- I forget to mention that my primary goal is merely to be able to change the language to English, as I think that there are already many possibilities in-built as to the configuration, including the shell !
squsqu6 said:
So, since mine seems to reject ADB on both USB and WI-FI, what would you suggest to try as next --and desperate ?
Click to expand...
Click to collapse
Is debugging mode actually on? Open the settings, go to the highlighted page and
{
"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"
}
turn the highlighted setting on (make sure the setting above it is on too - it will let you install external APKs)
You can follow these steps to show the Developer Settings, that's up to you: https://github.com/epodegrid/epd106-ADB#step-1-install-adb
squsqu6 said:
Bis -- I forget to mention that my primary goal is merely to be able to change the language to English
Click to expand...
Click to collapse
If you really can't get ADB to work, then there might be another way. Install the APK of my launcher fork (how you do that is up to you - you can try using the built-in browser or transferring the APK over MTP and using the file manager [which I've never opened] to install it).
In the new launcher, tap-and-hold the Settings icon (the one with a dark background),
choose Additional Settings and tap Locale. Then follow the instructions here: https://github.com/philips/inkpalm-5-adb-english#change-the-language
ADB is definit[iv]ely unavailable. But your launcher fork --that I already had, but did not know what to do with-- works, I now have most of the menu in English.
Thank you so much.
This worked great for me thanks a lot. I have a quick question if you know it. Is there anyway to get the old style android soft nav bar on the bottom (home, back, open apps)? The stuff you can do with the home button/logo button in settings is pretty limited.
Thanks.
reaverclan said:
Is there anyway to get the old style android soft nav bar on the bottom (home, back, open apps)?
Click to expand...
Click to collapse
I think it may have removed entirely to save space. That's just a guess though. I tried two Magisk modules to enable it - one sets that qemu property and the other uses an Android resource overlay - and both didn't work. The only workaround I can suggest, untested, would be this: https://github.com/epodegrid/epd106-ADB#step-4-naviation-button
qwerty12 said:
Thanks.
I think it may have removed entirely to save space. That's just a guess though. I tried two Magisk modules to enable it - one sets that qemu property and the other uses an Android resource overlay - and both didn't work. The only workaround I can suggest, untested, would be this: https://github.com/epodegrid/epd106-ADB#step-4-naviation-button
Click to expand...
Click to collapse
Yeah I tried step 4 and adb said the file was to old so rejected it and I tired it in the file manager anyways to see what would happen and it says it's not a working package or not compatible. So I guess it's for another xiaomi device or base android version. I also noticed only the stock file manager can actually invoke the package installer, root explorer gets the prompt to install but never then sends it to the Manger to load it and give the option for an install.
reaverclan said:
Yeah I tried step 4 and adb said the file was to old so rejected it and I tired it in the file manager anyways to see what would happen and it says it's not a working package or not compatible.
Click to expand...
Click to collapse
It's actually because the modified launcher mentioned in this thread uses the package name com.moan.moanwm (credits to whoever found that out; doing that allows the original Settings to be launched), which actually belongs to those navball buttons... I was originally going to suggest to just get rid of the launcher, so you can install the navball buttons, but they're really crashy and useless anyway. Sorry, I don't know what else to suggest - given other "QOL" changes by Moann (see below), I strongly suspect the navigation button code was ripped out entirely to save RAM.
I also noticed only the stock file manager can actually invoke the package installer, root explorer gets the prompt to install but never then sends it to the Manger to load it and give the option for an install.
Click to expand...
Click to collapse
Give Total Commander a try.
Moann really did a number on this device's Android build and messed it up, presumably in the name of "security". Only certain programs can show the original Settings, which messes up other applications' ability to show the app info of programs; the only thing that can force stop programs is Settings (which messes up Titanium Backup) and Root Explorer probably tries to invoke the Android installer directly (if that's a thing).
qwerty12 said:
It's actually because the modified launcher mentioned in this thread uses the package name com.moan.moanwm (credits to whoever found that out; doing that allows the original Settings to be launched), which actually belongs to those navball buttons... I was originally going to suggest to just get rid of the launcher, so you can install the navball buttons, but they're really crashy and useless anyway. Sorry, I don't know what else to suggest - given other "QOL" changes by Moann (see below), I strongly suspect the navigation button code was ripped out entirely to save RAM.
Give Total Commander a try.
Moann really did a number on this device's Android build and messed it up, presumably in the name of "security". Only certain programs can show the original Settings, which messes up other applications' ability to show the app info of programs; the only thing that can force stop programs is Settings (which messes up Titanium Backup) and Root Explorer probably tries to invoke the Android installer directly (if that's a thing).
Click to expand...
Click to collapse
Ah I see that's clever. It's not the end of the world and yeah I think it's cause root explorer does what you said about invoking the thing directly. I just use the stock app to only install and that's it. My journey so far is shown here and regardless of the jank it has been a great device. https://www.mobileread.com/forums/showpost.php?p=4140508&postcount=155
Thanks again for the time to make it even greater. Only thing that sucks is no stock img to un brick if something goes to far. Hopefully someone leaks that at some point. This device seems pretty new to the market still.
squsqu6 said:
ADB is definit[iv]ely unavailable. But your launcher fork --that I already had, but did not know what to do with-- works, I now have most of the menu in English.
Thank you so much.
Click to expand...
Click to collapse
I now have a new, but old !, trouble : battery life. I have enforced all saving possibilities available --from standard menu, from E-Ink Launcher, and, from RomToolBox, processors speed slowing--, and, yet, after 8 hours of use, InkPalm battery is totally empty, even though being totally user-idle --not a single user application being active according to linux 'top' request. Conversely, Kobo reader battery lasts for days in reading mode.
My question : would it be thinkable any possible trick of triggering the sleeping function without pushing the red button, so as to keep the screen as it is --allowing the reading of actual page until next (not a book, a musical partion, which takes longer !)--. Bypassing by script the red button action, or other ? --Note : the screensaver option allows for user-image, like a screenshot, but it requires to move it to the proper place and to renew it at every page...
Sorry for being so long, I am far from being familiar wich Linux (Android).
Greetings,
S. Quesada

Categories

Resources