dsixda's Android Kitchen

Compatible with Windows (Cygwin) / Linux / Mac OS X


Who is this kitchen for?
  • Those who are brand new to creating custom ROMs and want an easy place to start learning
  • Those who just want to modify shipped ROMs or someone else's custom ROMs to their liking
  • Those who are confused by all those scripts and complex commands required for building and extracting

Please note:
  • The kitchen will not automatically turn you into a developer. A developer is someone who writes code or builds something from the ground up and understands exactly what goes on behind the scenes. The kitchen hides all that and puts a user-friendly interface above it. However, this may be the push that gets you into development in the future.
  • My goal is to give you the tools to make your life easier and save you lots of time, and at the same time help you learn about the Android OS.
  • A little bit of prior UNIX command-line knowledge would be useful to get started with the kitchen, but the help guides should be enough for a newbie. Knowledge of command lines is always important if you ever want to get involved in Android or development.


Code:
===================================================================
 Android Kitchen - by dsixda (xda-developers.com)
===================================================================

Main Menu

 1. Set up working folder from ROM
 2. Add root permissions
 3. Add BusyBox
 4. Disable boot screen sounds
 5. Add wireless tethering
 6. Zipalign all *.apk files to optimize RAM usage
 7. Change wipe status of ROM
 8. Change name of ROM
 9. Check update-script for errors
10. Show working folder information

Advanced Options

 11 - Deodex files in your ROM
 12 - Add task killer tweak for speed (stock ROM only)
 13 - Add /data/app functionality
 14 - Add Nano text editor + sysro/sysrw
 15 - Add Bash (command shell)
 16 - Add Apps2SD
 17 - Add /etc/init.d scripts support (busybox run-parts)
 18 - Add custom boot animation functionality
 19 - Porting tools (experimental)
 20 - Tools for boot image (unpack/re-pack/etc.)
 21 - Unpack data.img
 22 - Sign APK or ZIP file(s)
 23 - Convert update-script or updater-script
 24 - Miscellaneous optins / Plugin scripts

99. Build ROM from working folder
00. About/Update kitchen
 0. Exit
PROJECT UPDATE:
Quote:
Please note, as of 2012 I have semi-retired myself from this project, as I have become overwhelmed with the number of devices to support, the demand, bad health, and the constant nagging, especially with a new addition to the family and busy life.

Unfortunately I am still suffering from a torn scapholunate ligament in my hand that I incurred in late 2010 as a direct consequence of the extra time I spent on the kitchen on my laptop. Thus I cannot spend time on these kinds of activities on a regular basis. I will add updates once in a while, on my own terms, when I feel like it, but I don't want to feel obligated to do work for people especially when I am in constant pain. I am currently undergoing costly treatments for my hand.

If you would like to contribute to the kitchen, you can submit a plug-in (see post #5), or you could send me an email/tweet/"git pull request" for a specific case. I *do not* encourage people distributing unofficial copies/kangs or charging money for my kitchen as I have seen in the past.

This all doesn't necessarily mean the kitchen won't work anymore in the future. Please refer to the information in this post for how to get newer devices to work with the kitchen. I really hope this kitchen helps you out. If you want to, send me a tweet or hit 'Thanks' at the end of this post (or whatever else) to let me know it worked out for you.

Thanks for your support!

Currently there is support for the following devices:
  

How to add new devices:
  



Kitchen Help

List of Supported Android Devices - Look above in this post for details!
ALL INSTRUCTIONS, FREQUENTLY ASKED QUESTIONS, AND HELP - Posts #3 and #4
Release Notes - Post #2
General questions about Linux/Mac/Cygwin - Use Google


Download Kitchen

If you've read the above, are aware of the  supported devices listed, know where the release notes for each version are (post #2),  agree to read the FAQ for setup and help (posts #3 and #4), agree to not ask for new features, and  agree to stop asking a 1000th time ;) about unsupported devices (I don't have them and I really don't have time for so many devices anymore), then click below to download the kitchen from GitHub. Have fun and I hope you support my work!
  

Support my work

[ DONATE FOLLOW ON TWITTER]

Follow my updates on Twitter, or optionally send me a donation (will go towards medical expenses, toys for my kids, etc.)

 



Download (optional) user-contributed plugins for Kitchen

See post #5


Acknowledgements

See post #5
[Follow me on Twitter] [My GitHub] 
[dsixda's Android Kitchen] 
[CWM for SGH-I757M] [CM9 for SGH-I757M] [CM10 for SGH-I757M]
[Onyx ROMs for HTC Elf/Elfin]


The Following 915 Users Say Thank You to dsixda For This Useful Post: [ Click to Expand ]
 
advertisement
Ads by Google
xda-developers
Embedded Developer Tools
Vybrid controller solutions based on ARM cores.  Freescale.com/Vybrid
 
dsixda
Old
15th February 2010, 07:48 AM
(Last edited by dsixda; 13th March 2013 at 12:43 AM.)
#2 
dsixda's Avatar
Recognized Developer / Retired Senior Moderator - OP
Thanks Meter  3508
Posts:  9,477
Join Date:  Nov 2007
Location:  Ottawa
MORE INFO >

 
DONATE TO ME
NOTE: Please do not copy the entire first post, release notes, and FAQ pages into your personal thread. (Yes, people actually do this!) Apply common sense and use the link from here.

Release Notes

Version 0.223 (March 12, 2013):
  • Fix: Changed method of flashing boot.img in AT&T Galaxy S3 (package_extract_file with no tmp folder)
  • Fix: Don't check for tomb.img.ext4 unless Galaxy S2 ROM used
  • In Amend/Edify conversion menu, submit a default choice if user presses Enter, depending on whether updater-script or update-script (or nothing) present
  • In Amend/Edify conversion menu, show whether user has updater/update-script
  • If applicable, show mount point for boot.img after converting to updater-script
  • Show kitchen version when showing working folder info

Version 0.222 (March 7, 2013):
  • Added support for Qualcomm-based Galaxy S2 Jelly Bean ROMs, including extraction of tomb.img.ext4
  • When de-odexing Galaxy S2 Jelly Bean ROMs, keep track of APKs moved from /preload folder, and move them back when done (don't move other files)
  • When changing API value for de-odexing, remove the yes/no prompt and proceed straight to entering value (0=cancel)

Version 0.221 (February 16, 2013):
  • Fix missing wi-fi symlink issue in MTK65xx ROMs that use an EXT4-formatted system.img for the base ROM

Version 0.220 (February 2, 2013):
  • Automatically handle how /preload folder's APK/ODEX files are moved before de-odexing Jelly Bean ROMs for Exynos-based Galaxy S2 and Note.

Version 0.219 (January 23, 2013):
  • Updated smali/baksmali to 1.4.2 (for de-odexing)
  • Updated Zipalign to 21.0.1
  • Added support for HTC One V CDMA, HTC One X+ (AT&T and International), HTC Droid DNA
  • Updated updater-script definitions for HTC One XL and One X


PLEASE DO NOT DUPLICATE THIS POST UNDER YOUR OWN THREAD!
Release notes for all previous versions starting at Version 0.1 are found in the attachment below

.
ATTACHED FILES
File Type: txt old_release_notes.txt - [Click for QR Code] (99.8 KB, 502 views)
[Follow me on Twitter] [My GitHub] 
[dsixda's Android Kitchen] 
[CWM for SGH-I757M] [CM9 for SGH-I757M] [CM10 for SGH-I757M]
[Onyx ROMs for HTC Elf/Elfin]


The Following 212 Users Say Thank You to dsixda For This Useful Post: [ Click to Expand ]
 
dsixda
Old
15th February 2010, 07:49 AM
(Last edited by dsixda; 14th March 2013 at 06:07 AM.) Reason: Updated cygwin_install.txt with more specific instructions
#3 
dsixda's Avatar
Recognized Developer / Retired Senior Moderator - OP
Thanks Meter  3508
Posts:  9,477
Join Date:  Nov 2007
Location:  Ottawa
MORE INFO >

 
DONATE TO ME
Frequently Asked Questions - Page 1

PLEASE DO NOT DUPLICATE THIS POST UNDER YOUR OWN THREAD



What operating systems are supported, and how do I set them up for the kitchen?

Choose one of the installation methods based on your computer's current operating system:

Quote:

1) Windows (2000, XP, Vista, 7, 8)
  
Quote:

2) Linux (Ubuntu recommended)
  
Quote:

3) Mac OS X
  

After following the setup for the operating system, how do I use the kitchen?

Summary:
  1. Download kitchen
  2. 'cd' to folder containing kitchen
  3. Start kitchen with: ./menu
  4. Customize and build ROM

Detailed instructions (for newbies):
  


How do I import a ROM into the kitchen to use as my base?
(The instructions below are for HTC devices in general. For other devices, please visit the appropriate thread.)
  


Please see Page 2 of FAQ (Other Questions) - in next post!

.
ATTACHED FILES
File Type: txt cygwin_install.txt - [Click for QR Code] (2.5 KB, 3211 views)
[Follow me on Twitter] [My GitHub] 
[dsixda's Android Kitchen] 
[CWM for SGH-I757M] [CM9 for SGH-I757M] [CM10 for SGH-I757M]
[Onyx ROMs for HTC Elf/Elfin]


The Following 207 Users Say Thank You to dsixda For This Useful Post: [ Click to Expand ]
 
dsixda
Old
15th February 2010, 07:49 AM
(Last edited by dsixda; 13th March 2013 at 12:45 AM.)
#4 
dsixda's Avatar
Recognized Developer / Retired Senior Moderator - OP
Thanks Meter  3508
Posts:  9,477
Join Date:  Nov 2007
Location:  Ottawa
MORE INFO >

 
DONATE TO ME
Frequently Asked Questions - Page 2

PLEASE DO NOT DUPLICATE THIS POST UNDER YOUR OWN THREAD


QUESTION: Does the kitchen support ROMs for Device X??

See post #1. If it is not listed there then I have not done anything for it, and I have no idea about it. Keep in mind that this is primarily a kitchen for HTC devices. Most of the ROMs for non-HTC devices that are supported in the kitchen are there because they are easy to support, as their file structure is not much different from that in HTC ROMs. However, certain devices use a completely different ROM file structure, so they are currently not supported in the kitchen. I am also limited by the fact that I only own one or two Android devices at a time, which affects the extent of my testing. Finally, please don't expect me to do every Android known device known to man, as I am a busy guy with mouths to feed, like a lot of you. 



QUESTION: Whenever I double-click on the 'menu' file in Linux or Mac OS X, the screen immediately closes or I get an error like "File not found."

No, do not click on the file. You were instructed to type "./menu" from the command prompt. Follow the instructions as they have been given. Please refrain from asking me this question again and again, or from requesting me to fix it - double-clicking is not how shell scripts are meant to be run!! 



QUESTION: Whenever I type ./menu to start the kitchen it says "Permission denied."

Your file attributes are somehow missing the 'execute' flag. Type the command  chmod 777 menu (or  chmod +x menu) and try  ./menu again.



QUESTION: In Cygwin whenever I type ./menu it says the 'clear' command (and/or other binaries like 'chmod') is not found.

Read this for possible solutions; however, these instructions only apply if you used the old (2010-2012) method of installing Cygwin for the kitchen.



QUESTION: What versions of the Java JDK are supported with this kitchen?

I have successfully built ROMs using Java 5 JDK and also later versions.



QUESTION: In the Advanced Menu's boot.img tools, why is there only an option to unpack a boot.img but not to re-pack it?

There is an option, you just need to unpack it first!  Read this.



QUESTION: When I flash a ROM I get an error with a Status code. What does it mean?

Why don't you read the full error message first so that you understand why it's failing. Next, google the error. Anyways, this is what the status codes should mean:
  • Status 0 might be two things: 1) You used an update-script (Amend format, which is very old) when you should be using an updater-script (Edify format), or the other way around; OR 2) Your updater-script is using the "MTD" partition type when mounting a partition rather than another type such as EMMC (and thus, you need the device defined under the kitchen's /tools/edify_defs folder).
  • Status 6 might be two things: 1) You edited your updater-script with a non-Unix-compatible text editor. Don't use Notepad or MS-Word!! You must use something like gVim or Notepad++. OR, 2) There is a syntax error in your updater-script.
  • Status 7 means your mount points in the updater-script are wrong and/or your update-binary is not the correct type and doesn't support the syntax used for the mount points. Also, ensure your boot.img is using the correct instruction in the updater-script for flashing it.




QUESTION: I flashed a ROM and when it boots, it gets stuck on the splash screen (boot loop) or goes back to recovery menu.


If you are stuck on the splash screen, the first thing to try is to wipe the cache and dalvik-cache from the recovery menu. A full wipe may also be required, although I would not recommend it until you try the suggestions below. 

Debug the issue with  "logcat" (you need the  Android SDK to use it):
  1. Take out the battery so that the phone is turned off.
  2. Then, go to the Android SDK, change to its 'tools' folder, and type "adb logcat". It will tell you that it is waiting for a device to be detected.
  3. the phone into your computer's USB port, then turn it back on and check the logcat output. When the phone gets back to the same problem, check the logcat output for any error messages (e.g. missing files). This should tell you what the true problem is, which can hopefully be fixed.
  4. If you want to direct the logcat output to a file, type instead "adb logcat > c:\logcat.txt".
  5. If you want to share the output, paste it to a site like pastebin.com. If it's not a problem with the kitchen then post it in another thread in the Chef forum, rather than in this thread.
Another thing to do is to grab the  "recovery.log" file immediately after you flash the bad ROM ( BEFORE the first reboot!!). This shows a log of the activity during the current recovery menu session (i.e. during the flash). This log may also show errors that were not caught when you were flashing the ROM.
  1. In Amon_RA Recovery, you can easily access this file by accessing the menu option "Other->Move recovery.log to SD", which moves it to /sdcard/recovery.log.
  2. Otherwise, you can usually find it under /tmp/recovery.log or /cache/recovery.log or /cache/recovery/last_log with ADB. Try to copy it to a location where you can view it. e.g. Type from your computer: "adb shell", followed by "cat /tmp/recovery.log > /sdcard/recovery.log". Alternatively, from your computer you can do: "adb pull /tmp/recovery.log", which will copy it to your computer.
  3. Open up recovery.log with a text editor, but don't use Notepad, because it will put everything on one line instead of multiple lines.
  4. Check recovery.log for any errors that occurred during the flashing process.
Remember, you must grab the recovery log output immediately after flashing and  before you reboot. If you had rebooted afterwards, then the flashing's log information would have been  cleared and you will need to flash again to get the log output.



QUESTION: After I flashed a ROM, it doesn't boot but I get 'File not found' and/or 'No such file or directory' (usually in reference to /system/bin/sh) error messages in logcat.

The /system partition was not flashed properly due to an issue on your device. This usually could mean one of the following:
  1. You ported the ROM incorrectly. If you open up the recovery log (see the instructions above) you may see the reason, such as the device running out of space or errors copying to the system partition. Sometimes this is because the ROM is too large to fit into the phone's relatively small system partition in the internal flash. In this case, remove unnecessary apps from the system folder until you manage to fit the ROM into your device.
  2. You ran a script in your updater-script/update-script but it had errors, thus halting the flashing process and leaving you with an incomplete flash.
  3. You added Apps2SD to a device that does not support it. Did you ignore the warnings in the Apps2SD screen of the kitchen? :P
An inspection of your recovery log should help you determine the exact cause.



QUESTION: I get errors in the recovery menu when I flash a ROM.


This may mean your update-script/updater-script has errors or there is an issue with how the kitchen created your ROM. Read the rest of the FAQ for potential solutions, or you may need to inspect the recovery.log to debug the issue (see above).




QUESTION: When I flash my ROM, some of my changes don't appear, e.g. Apps copied to my working folder's /data/app.


Check the recovery.log to debug the issue (see above).




QUESTION: Can you help me port a ROM? Or can you tell me if Device X's ROM can be ported to Device Y?

No, I am not an expert on porting so I cannot help you; however, there is a Porting option in the kitchen. Keep in mind though that it is not the magic solution for all devices and will not work all the time. It uses a  very generic set of rules for porting, which can be seen if you open up the appropriate script files. The recovery log and logcat tool should help you debug issues with porting (see instructions above).



QUESTION: What is an update-script or updater-script file?

This is a file found under the META-INF/com/google/android folder, and specifies the operations required for flashing your ROM. It performs various file operations, such as creating file shortcuts (also known as symlinks or symbolic links), adding permissions to files, running scripts and copying files and folders. After flashing your ROM this file is not executed again. 

The updateR-script is more advanced than the update-script and supports more devices. When you see someone refer to "Edify" format they are talking about the updateR-script; whereas "Amend" format refers to update-script.

The updateR-script also requires an  update-binary file included with it. The update-binary contains all the binaries for the commands that the updater-script uses (e.g. set_perm, symlink, format, mount, etc.). The update-script does not need an update-binary.

Unlike the update-script, the updater-script is supported in newer versions of ClockworkMod Recovery.




QUESTION: Why do I need to convert the ROM's updater-script to an update-script when using the kitchen?

First of all, the kitchen supports updater-scripts. BUT, the problem is that the updater-script in different devices (and by different authors) may use various formatting/alignment styles, mount points, partition types and may also employ different commands for the same functionality, and thus there would be an awful lot of variations to check for every time a kitchen script is using it. Hence at the beginning, the kitchen will convert the updater-script into a universal format (e.g. I chose the update-script format) so that all the scripts of the kitchen will work on the ROM without encountering these issues. When the ROM is built, the kitchen converts it back to an updater-script with the correct syntax, and the partition details are fully restored.

If we didn't convert the updater-script then it would take A LOT OF work to overhaul the dozens of scripts to accept updater-scripts, which would really NOT make a difference in the end anyway, and would likely slow down the kitchen due to extra checks made in the updater-script. So please do not request this again and again, there is no gain in doing it. Believe me, I have spent many months and stayed up late many, many nights getting this update-script/updater-script compatibility issue working with the kitchen with all ROMs and numerous HTC and non-HTC devices.

When you build the ROM you have the option of converting it back to an updater-script, or the kitchen will convert it automatically if it decides it's necessary. The conversion back to the original updater-script is near-perfect, as I have already spent months on the implementation to get it right.

If you want to instead convert your updater-script or update-script *before* you build, then use the option found under the Advanced section of the kitchen menu.




QUESTION: I have converted my update-script to an updater-script, but after flashing I still have the original ROM on the device.

That means your updater-script did not have the proper mount points defined for the  system (and/or  data) partition. Refer to  this post for more info.  EDIT: You can now add your own mount-point definition file to the kitchen's "tools/edify_defs/" folder for when it creates the updater-script for your device.




QUESTION: My device only supports ROMs with the updater-script/update-binary files but not the update-script

If you extract a ROM that contains an updater-script, then the kitchen will ask you if it should convert it to an update-script. You *must* use an update-script while customizing the ROM, as the kitchen is not capable of modifying updater-scripts. When you are ready to build the ROM, though, you will need to convert it back to an updater-script if the device requires it. Use the option in the Advanced menu to convert update-script to updater-script, or else the kitchen will ask you to convert it while building the ROM.




QUESTION: When flashing my ROM I get the error "mount expects 4 args got 3" or similar.

This refers to the fact your mount command takes 4 parameters (e.g. ext4, EMMC, /dev/block/.., /system) and your update-binary file only checks for 3 parameters. You'll have to change the update-binary file to a compatible one, found under the /tools/update_files folder. Just copy the appropriate file and rename to update-binary. e.g. If you're going to be using MTD partitions, copy 'mtd-update-binary' to /META-INF/com/google/android as "update-binary".




QUESTION: How do I get Ubuntu to see my device with ADB?

First, download the  Android SDK and copy it to a folder like ~/AndroidSDK/

Then, use the following commands:

Code:
cd ~/AndroidSDK/tools
./adb kill-server
sudo ./adb start-server
./adb devices
If you want to try Linux commands on your device, you can use the "./adb shell" command, e.g. ./adb shell reboot



QUESTION: I get the following error when flashing a ROM: E:Board does not support mtd utils.E:Failure atline 77: write_raw_image PACKAGE:boot.img BOOT:

Please see  this post for the solution. In some recovery menus the boot.img cannot be flashed straight from the ROM's ZIP, so it needs to be copied first to a temporary area on your device and then flashed from there. 



QUESTION: How do I add or port a kernel to my kitchen's working folder?

Follow the  instructions here.



QUESTION: I get busybox errors during flashing; e.g. "Can't chown/mod /system/xbin/busybox (No such file or directory)" or "E:Can't symlink busybox ..."

Apparently you need to upgrade your SPL, and it has nothing to do with the kitchen:
  • http://forum.xda-developers.com/show...1&postcount=12
  • http://androidcommunity.com/forums/276808-post16.html
  • http://forum.xda-developers.com/show...postcount=5638




QUESTION: While flashing my ROM, I get an error about 'assert getprop ("ro.product.device")'.

Read about a  solution here. You will likely need to modify your build.prop and update-script files in the kitchen and rebuild the ROM.



QUESTION: I created a ROM with root permissions, but whenever I access an app with the superuser prompt, it hangs or force-closes.

Under Settings/Applications, ensure that USB Debugging is enabled. You probably disabled it after flashing your ROM.



QUESTION: When I flash my ROM in the recovery menu, I get an error like "E:Can't open (bad)".

You may need to change your custom recovery menu. For example,  see here.



QUESTION: How do I add a theme to my ROM?

I don't know, as I just write the scripts and am not a ROM theming/modding expert. Please ask in the forum but not this thread, as I cannot help you with your question. Sorry.



QUESTION: Can you add APK decompilers and other APK modding tools? Or how about PNG optimizers?

See this answer.



QUESTION: Can you give me an explanation of de-odexing?

De-odexing will take the *.odex files in your ROM and convert them into classes.dex files, which will then be zipped into their corresponding APK or JAR files. For a technical overview,  read this. A short summary of why it is used is  in this post. 



QUESTION: Can you add an option in the kitchen to odex a de-odexed ROM?

No. I don't know how to do it with a kitchen and probably don't have the time at the moment. 

There is a way to do it, but not from your computer. The odex script must be run on your device - within the Android command shell - after the de-odexed ROM has been flashed (I don't have the script, just Google it).  (Here's a thread about it but the link to the script is dead.)



QUESTION: Why do some applications in the data/app folder force-close and others don't?

Probably they have native libraries which are not installed after you flash your ROM. Use the Application Verifier in to check such apps, and to make the required update.zip to flash after you have installed the ROM (see the Plugins section in this thread, after the FAQ).



QUESTION: When we build the ROM, why can't we create a new system.img instead of a ZIP file?

Read this post.



QUESTION: What is Apps2SD and what version does the kitchen use?

There are multiple 'types' of Apps2SD -- one is the implementation found in  Android 2.2+ that gives you the option of moving your apps to the SD card. Normally however, this does not move all of the app components to the SD card, and not all apps support this feature. 

The other Apps2SD is sometimes referred to as "Apps2Ext" and  requires an extra step by the user beforehand to format a new EXT-based partition on your SD card for the apps (normally an SD card is in FAT32 format). Unlike the 'Froyo Apps2SD', the Apps2Ext feature moves everything to the SD card, even apps that normally do not support the storage card option. The Apps2Ext version is found in the kitchen as DarkTremor's Apps2SD (by XDA user  tkirton) and supports older devices that have a very limited amount of internal storage.



QUESTION: I am using Ubuntu Linux on a 64-bit Windows PC, and whenever I run 'zipalign' I get an error about "No such file or directory".

You need to install the Ubuntu package "ia32-libs".



QUESTION: Can you include an option to overwrite the ROM's existing Apps2SD with the one in the kitchen?

Answered here.



QUESTION: Can I copy this FAQ for my own thread?

No, that's plagiarism. You are a lazy bum and I will hate you.


.
[Follow me on Twitter] [My GitHub] 
[dsixda's Android Kitchen] 
[CWM for SGH-I757M] [CM9 for SGH-I757M] [CM10 for SGH-I757M]
[Onyx ROMs for HTC Elf/Elfin]


The Following 132 Users Say Thank You to dsixda For This Useful Post: [ Click to Expand ]
 
dsixda
Old
15th February 2010, 07:58 AM
(Last edited by dsixda; 16th October 2012 at 12:04 PM.)
#5 
dsixda's Avatar
Recognized Developer / Retired Senior Moderator - OP
Thanks Meter  3508
Posts:  9,477
Join Date:  Nov 2007
Location:  Ottawa
MORE INFO >

 
DONATE TO ME
OPTIONAL: Download User-Contributed Plugins (used in Advanced Menu of Kitchen)
  1. Android Builder - by gnarlyc
    Downloads the Android open source code for use with the kitchen
  2. Application Verifier for Data Partition - by StenaviN
    Fixes issue where certain apps under /data/app folder of ROM cause force-close
  3. HTC Plug-in pack - by stupidjerkheadface
  4. Update Hosts - by -Mr. X-
    Generates an ad-free 'hosts' file


Acknowledgements

Thanks to all the people who use the kitchen and also to those who voluntarily donated.

Reading and searching will always help you in this forum. I learned everything from several places, but these are the best sources:
  • Lox_Dev's cooking guide for HTC Hero: http://forum.xda-developers.com/showthread.php?t=551711
  • androidcustomrom's cooking guide for HTC Magic: http://forum.xda-developers.com/showthread.php?t=566235
  • androcheck's task killer guide to speed up your device: http://forum.xda-developers.com/showthread.php?t=622666
  • The 'No Idea' Blog - guide to making your own rooted Android ROM: http://lukasz.szmit.eu/2009/12/makin...droid-rom.html
  • JesusFreke's utilities for deodexing - http://code.google.com/p/smali/
  • tkirton's Darktremor Apps2SD - http://forum.xda-developers.com/showthread.php?t=670087
  • ChainsDD's Superuser package - http://forum.xda-developers.com/showthread.php?t=682828
And also thanks to all the Android developers and cooks who supplied the binaries for this kitchen. Last but not least, thanks to the custom recovery image developers, without whom the flashing of these ROMs would not be possible ( KoushAmon_RA, etc.). They all gave me the inspiration to create a kitchen!
[Follow me on Twitter] [My GitHub] 
[dsixda's Android Kitchen] 
[CWM for SGH-I757M] [CM9 for SGH-I757M] [CM10 for SGH-I757M]
[Onyx ROMs for HTC Elf/Elfin]

你可能感兴趣的:(dsixda's Android Kitchen)