.
In Greek mythology, the Lernaean Hydra was an ancient serpent-like chthonic water beast, with reptilian traits (as its name evinces), that possessed many heads — the poets mention more heads than the vase-painters could paint.
Project Hydra, therefore, is the B.Y.O.R. (Build Your Own ROM) version of Sleipnir. It has all of the stock apps, audio, launcher, fonts, and theme and wallpaper, but it has all of the improvements and benefits of Sleipnir. It's the perfect, themeable, fusion of Stock and Sleipnir. This means you and your ROM's users gain all of the improvements the community has come up with that have been added to Sleipnir, and other improvements compiled from the top four ROMs, all under one roof so you don't have to do that work manually yourself.
In fact, since you have all of those improvements under one roof, why not make some of your own, create a new theme, do something innovative with this improved base, and release it as your own project? This way, no one is without the improvements the community has come upon. I'd be happy if you tore this ROM apart and made it your own, that's what it's here for after all!
Sprint
b. If you like my work, please consider brightening up my day here. Thank you.
Alarms, Notifications, Rintones, and UI
Located in /system/media/audio, this part is probably self-explanatory. You can drag and drop .mp3s into these directories and when the ROM installs, users will have access to your custom A/N/R and, if you want to go a little further and either create custom mp3s for this or grab some from a ROM dump of another device, UI sounds.
Apps
Apps are either stored in /system/app or /data/app.
For a complete and comprehensive guide for all of the apps specific to our phone, the LG Optimus Elite, see the http://androidforums.com/elite-all-things-root/664141-guide-removing-stock-apps-12-21-2012-a.html thread. It should contain everything you need to know as far as what to remove, what to keep, etc.
Bootanimation.zip
Normally stored in /system/media, however I did not include one. These can be like mini movies. You can find a bootanimation on your Android forums of choice, such as this one or over on XDA, and drop the .zip into /system/media, and when the phone boots that animation will cover the legacy bootanimation. Here is a good thread full of bootanimations that can be downloaded. You want to look for Edify scripting for Bootanimations and UOT Kitchen theming, and the ideal dimensions for a bootanimation for the OE is anything at or within 320x480. Here is a link to download the CM10 bootanimation that used to be in Sleipnir - just drag and drop it into your ROM in /system/media and the phone will use it automatically.
Located in /system/sounds, the file called PowerOn.mp3 is what plays when the phone boots up if you don't have your phone set to Silent. There is no PowerOn.mp3 included in Hydra by default, so feel free to replace the placeholder file with a PowerOn.mp3 of your choosing. You can edit this in an audio editing program such as Audacity, GoldWave, or Sony SoundForge, or simply take any .mp3 file you have on your device and rename it to PowerOn.mp3 (*nix, and therefore Android, is case sensitive), and put it in this directory and that will play on boot up. Alternatively, you can just remove the PowerOn.mp3 file and no sound will play on boot.
build.prop
Check the comments section for the project files to see which build.prop is which. If you're downloading the .zip of the project, the build.prop files are already sorted. If you are making both a Virgin Mobile and Sprint version of your ROM (f you are releasing your ROM publicly, you should make a variant for both), you need to switch the build.prop file to the appropriate one, or that build will not work correctly.
There isn't much here that you'll have to change, but you will want to edit the 3rd, and perhaps 4th line:
ro.build.id=***************
ro.build.display.id=***************
Replace the stars with the name of your ROM, this will show up in the “About Phone” section. If you want the text in the notifications panel or on the lockscreen to change, edit the following line:
ro.cdma.home.operator.alpha=***************
Replacing the stars with the name you would like to show up instead of, for example, "Virgin Mobile," or "Sprint."
Make sure that the appropriate build.prop file is included in the appropriate build of your ROM. Based on Hydra, a Virgin Mobile or Sprint oriented build.prop is the only modification necessary to differentiate between a Sprint or Virgin Mobile ROM unless you make another modification of your own that needs to be changed for compatibility. An incorrect build.prop file will make the intended carrier's device unhappy.
Can be done in /system/usr/keylayout. If you want to remap a button, or remove functionality for a button altogether, you can edit the files in this directory. Some of the keys can be tricky to figure out which is which, for an example there are two Search buttons. The hardware/capacitive search button is Key #217.
Changing XML Files
If you open an APK or .Jar, you might not see all of the XML files or folders. There are Windows based APK tools (such as this) that can do this, but a simple zip tool cannot, so if you are looking for a file and cannot find it, this is why.
default_wallpaper
Also stored in framework-res.apk, in the folder /res/drawable, and is called default_wallpaper.jpg. Simply drag in a .jpg image with the same dimensions (640x480 px) and the same name, and the default wallpaper will be replaced with the one you just placed in there, so when users boot up their phone the default wallpaper is now what you changed it to.
Default / Home Launcher Replacement
If you wish to replace the default Launcher that Android uses when people install your ROM, take whatever Launcher you have downloaded and installed from either /data/app, if it's installed as a user app, or /system/app if you made it the system default. Copy the .apk file into your ROM in progress in the /system/app directory, and rename it to Launcher2.apk. Now when people use your ROM, their default Launcher will be whatever launcher you added and renamed to Launcher2.apk.
Extended Power Menu
This is theoretical, but should work: It requires a modified framework.jar, android.policy.jar, and framework-res.apk, all located in /system/framework with extra icons that are located in the /res/drawable-mdpi folder of the framework-res.apk.
What you could do is open up Sleipnir's framework-res.apk, and the UOT-modified framework-res.apk, and in /res/drawable select all of the files in the UOT-modified .apk, and drag them over to the Sleipnir .apk, which will overwrite Sleipnir's theme but should retain the icons necessary to the extended power menu, which in turn should (in theory) allow you to keep the extended power menu but with a different theme - if you're just re-theming Sleipnir. If you're building onto Hydra, you can then take the android.policy.jar and framework.jar files from Sleipnir, and drop them into /system/framework for Hydra after your theming.
From here, make sure you have both the screencap and screenshot binary files from Sleipnir or the ICS Elite ROM, found in /system/bin, and from there edit the installer to give both the correct permissions, as follows:
and
And voila! You now have the extended power menu.
Fonts
Located in /system/fonts, you can drag and drop (as usual) different fonts in this directory, and the phone's display fonts will change accordingly. Don't like the ICS/JB Roboto font? You can change it to Comic Sans if you like, or something else. You can use Google-fu to find full packages of fonts for Android.
hosts File
Located in /system/etc, the hosts file is a file which contains both IP addresses and web addresses, and in turn blocks ads from those sources. A hosts file can be manually generated and/or edited by either yourself or an ad blocker, such as AdAway for Android. It should be noted that once a hosts file has been generated by an ad blocker, you do not need the ad blocker in order to get the benefits of an edited hosts file. Just copy the hosts file to /system/etc, and the user will experience less ads.
init.d
Located in /system/etc/init.d, you can add, edit, or remove init.d scripts in this directory. As long as you give them the appropriate permissions in the installer (all of the ones currently present already have the correct permissions), they should run just fine. Integral to the init.d scripts is...
install-recovery.sh
Don't worry, this isn't a ghost from the firmware coming back to haunt you and remove CWM. In Hydra (and Sleipnir both), this script was modified to perform only one function: allow init.d scripts to run. Without it, they are non-functional. Feel free to open the script and take a look. It is located in /system/etc.
Installer Editing
The ROM installer is located in /META-INF/com/google/android. The actual script is called updater-script. DO NOT edit with Notepad (using Notepad can mess up the file) - you need to either download Open Office and use Writer or download Notepad++ (links provided in the Prerequisites). There isn't a whole lot that needs to be changed, but it can be personalized - and if you're making changes to the init.d scripts or adding some of your own, you'll need to set the correct permissions for those files in the Installer as well. For additional help, I've added notes the installer, preceded with #s, from Sleipnir in order to break down what's going on in the Installer for you, that you can see if you open the Installer with Notepad++ or Writer. All in all, it's actually pretty easy to understand.
If you want to know more about the updater-script or Edify, see this thread.
local.prop
Located in /data, this should be left alone. This is for Supercharger/Adrenaline.
/Odex
This is needed for the self-odexing procedure done by the Installer. This should be left alone.
placeholder
Located in a few different directories (such as /data/local), the placeholder file exists to prevent the removal of the directory when no files are present in it. The size of the file is 0kb, and thus does not take up space/weigh the ROM down. Unless you are putting a file in a directory where a placeholder file exists, you should not remove the placeholder file.
ROM Signing
/META-INF, which contains the installer, also has the signing. If you use the optional statusbars, you don't import this. If you do, you will wipe out the ROM installer.
Search Button Remap to Camera
For Virgin Mobile: Download this .zip file. This is also available in the Hydra Project link (but not in the .zip, as this is optional). You will need to do the following:
For Sprint: TBD.
Signing your ROM
Signing is optional, but you will want to tell your users they will have to disable the signature check in recovery. If you still want to sign it, search Google for “sign zip,” you will find plenty of results. This, for example, is one such result.
/system/app Replacement
And here we are at last: Theming your ROM. Whether you want it to look like ICS, JB, ICS/JB, or something else entirely, there are two files you need to edit: SystemUI.apk located in /system/app, and framework-res.apk located in /system/framework. The directory containing the files you need to edit in order to do theme work is the same: /res/drawable-mdpi. A wonderful theming tool for Android is UOT Kitchen.
There are several threads/resources, some aforementioned but included to bring them all under one roof, that may be of great value to you as you embark on your ROM Developing journey to the following funky beat.
DevHost is an excellent option for the ROM (similar download speeds to Mediafire, similar upload speeds to SendSpace). DevHost also generates an MD5 Sum for you so you don't have to find it manually. Mediafire and SendSpace are both great for mirrored uploads (meaning the same file is uploaded to another location in case, for whatever reason, the primary location is down). For images for your thread, Photobucket and Imageshack are great.
Welcome to the LG Optimus Elite Development Team!!
------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------
What is Project Hydra?
------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------
What is Project Hydra?
------------------------------------------------------------------------------------------------------------
In Greek mythology, the Lernaean Hydra was an ancient serpent-like chthonic water beast, with reptilian traits (as its name evinces), that possessed many heads — the poets mention more heads than the vase-painters could paint.
Project Hydra, therefore, is the B.Y.O.R. (Build Your Own ROM) version of Sleipnir. It has all of the stock apps, audio, launcher, fonts, and theme and wallpaper, but it has all of the improvements and benefits of Sleipnir. It's the perfect, themeable, fusion of Stock and Sleipnir. This means you and your ROM's users gain all of the improvements the community has come up with that have been added to Sleipnir, and other improvements compiled from the top four ROMs, all under one roof so you don't have to do that work manually yourself.
In fact, since you have all of those improvements under one roof, why not make some of your own, create a new theme, do something innovative with this improved base, and release it as your own project? This way, no one is without the improvements the community has come upon. I'd be happy if you tore this ROM apart and made it your own, that's what it's here for after all!
------------------------------------------------------------------------------------------------------------
Disclaimer / Warning
------------------------------------------------------------------------------------------------------------
I am not responsible if you brick your phone beyond repair.
This is always a possibility.
You have been warned.
------------------------------------------------------------------------------------------------------------
What's new?
------------------------------------------------------------------------------------------------------------
Disclaimer / Warning
------------------------------------------------------------------------------------------------------------
I am not responsible if you brick your phone beyond repair.
This is always a possibility.
You have been warned.
------------------------------------------------------------------------------------------------------------
What's new?
------------------------------------------------------------------------------------------------------------
- Completely updated to use Sleipnir v2.4.0.2 as the backbone on a fresh Aeneas build.
- Updated Google Play Store, Superuser, Superuser Binary, Busybox Binary, and Voice Search, as the ROM is now updateable.
- No more custom wallpaper, it is now default.
- The Legacy Boot Animation is the Android one, not Hydra.
------------------------------------------------------------------------------------------------------------
Current Build
------------------------------------------------------------------------------------------------------------
v2.0
April 19th, 2013
Android v2.3.7 - Gingerbread
Current Build
------------------------------------------------------------------------------------------------------------
v2.0
April 19th, 2013
Android v2.3.7 - Gingerbread
Sprint
- Available for Download at DevHost
- MD5: 9deff6158a25c83e88e35f00e641e4d4
- Available for Download at DevHost
- MD5: 13398aa0550f8311b4516aace70a21d6
b. If you like my work, please consider brightening up my day here. Thank you.
------------------------------------------------------------------------------------------------------------
Installation
------------------------------------------------------------------------------------------------------------
Installation
------------------------------------------------------------------------------------------------------------
- If this is your first time:
- Make a Nandroid backup.
- Format /data once.
- You can restore your data from a Nandroid backup (Note: only restore data), but do so only after Hydra has been installed, otherwise your phone will get stuck in a bootloop. The how-to guide can be found here.
- Install Hydra_vxxx.zip. The installer will take care of the rest.
- xxx is the current ROM version number and service carrier letter.
- Under Advanced in CWM, select Fix Permissions.
- Reboot the phone via the Main Menu of CWM.
- Enjoy!
- If you're just updating:
- Make a Nandroid backup.
- Install Hydra_vxxx.zip. The installer will take care of the rest.
- xxx is the current ROM version number and service carrier letter.
- Under Advanced in CWM, select Fix Permissions.
- Reboot the phone via the Main Menu of CWM.
- Enjoy!
- Here's a little 'tuneage whilst Hydra downloads and/or installs.
------------------------------------------------------------------------------------------------------------
Features List
------------------------------------------------------------------------------------------------------------
Features List
------------------------------------------------------------------------------------------------------------
- Aeneas/Harmonia's Tweaks
- All of Tagged*'s features included and speed (this ROM was built from Tagged).
- Holo Locker and Notifications Toggle are not included.
- giantpune's custom kernel overclockable to 1.6 GHz.
- init.d support and working scripting.
- Default CPU Governor set to smartassV2.
- Deodexed, and self-odexing post-install for end-user speed.
- Optimized
- Butter Smooth
- Zipaligned
- SD-Card Cache Set to 2048
- Stock Launcher
- Stock Font
- Legacy Android Boot Animation
- Giga hosts file generated from four different sources, including AdAway, Pimp My ROM, and more*
- Meaning fewer / no ads whilst browsing the interwebs looking for pictures of cute and fluffy kittens.
- Stock Audio.
- Stock Theme.
- All Stock Apps.
- Alternate Default Wallpaper. Herehttp://d-h.st/Xhfhttp://d-h.st/Xhf is the full-sized version.
------------------------------------------------------------------------------------------------------------
How do I report a problem?
------------------------------------------------------------------------------------------------------------
How do I report a problem?
------------------------------------------------------------------------------------------------------------
- Has the issue only just happened once (likely a fluke caused by an app and not because of the ROM)? Or, can you reliably repeat/replicate the issue (which would be a ROM problem)?
- Double check everything you've done, following all directions verbatim (word for word), and make sure that MD5 Sums match where applicable.
- Check the pages of this thread and the rest of the LG Optimus Elite and Elite All Things Root boards to see if someone hasn't had a similar problem you're experiencing, and if they did you can see what the solution may be.
- If none of the steps above have helped, feel free to create a post about the issue you're experiencing in this thread, detailing the problem in plain and clear English and what you have and have not done, and someone will get back to you ASAP.
------------------------------------------------------------------------------------------------------------
Prerequisites to Building Your Own ROM
------------------------------------------------------------------------------------------------------------
Prerequisites to Building Your Own ROM
------------------------------------------------------------------------------------------------------------
- The Virgin Mobile or Sprint Hydra ROM.
- You will need a zip utility. Some examples are 7zip, WinZip, or WinRAR.
- If you're using WinRAR, set WinRAR's default compression level to Normal.
- If you extract everything and try to re-compress it, you will break things. Being Linux based, Windows will lose files making your ROM not work. So only open and drag things in and out. This applies to APK files as well.
- Open Office -> Writer |OR| Notepad++ for editing scripts and the installer (updater-script).
- An understanding of Linux code is NOT needed, but is helpful if you have it - I don't.
And so, without further ado...
------------------------------------------------------------------------------------------------------------
The Components of a ROM
------------------------------------------------------------------------------------------------------------
Note: As Android is Open Source, be prepared for others to take some of your ideas, modifications, and/or implementations and add it themselves. If you do this, be sure to at least credit the individual who made the discovery/did the work before you, out of respect and kindness. Also, much of the following is taken from Leslie's Aeneas post, but not quite verbatim:------------------------------------------------------------------------------------------------------------
The Components of a ROM
------------------------------------------------------------------------------------------------------------
Alarms, Notifications, Rintones, and UI
Located in /system/media/audio, this part is probably self-explanatory. You can drag and drop .mp3s into these directories and when the ROM installs, users will have access to your custom A/N/R and, if you want to go a little further and either create custom mp3s for this or grab some from a ROM dump of another device, UI sounds.
Apps
Apps are either stored in /system/app or /data/app.
- In /system/app, apps stored here cannot be uninstalled, they must be deleted - however, they don't take up as much room, but there is a lot of bloatware here as well that does inhibit the performance of the device. Not every app can run from here.
- In /data/app, apps stored here are be easily uninstallable by the user through settings. Most apps can be run from here. You can take apps from your phone located in this directory, copy them to your computer, and drop them in your ROM in progress in /data/app and they will be installed when the ROM is flashed/installed.
- Note: Do NOT put pay apps, nor cracked apps, in your ROM.
For a complete and comprehensive guide for all of the apps specific to our phone, the LG Optimus Elite, see the http://androidforums.com/elite-all-things-root/664141-guide-removing-stock-apps-12-21-2012-a.html thread. It should contain everything you need to know as far as what to remove, what to keep, etc.
Bootanimation.zip
Normally stored in /system/media, however I did not include one. These can be like mini movies. You can find a bootanimation on your Android forums of choice, such as this one or over on XDA, and drop the .zip into /system/media, and when the phone boots that animation will cover the legacy bootanimation. Here is a good thread full of bootanimations that can be downloaded. You want to look for Edify scripting for Bootanimations and UOT Kitchen theming, and the ideal dimensions for a bootanimation for the OE is anything at or within 320x480. Here is a link to download the CM10 bootanimation that used to be in Sleipnir - just drag and drop it into your ROM in /system/media and the phone will use it automatically.
- Alternatively: You can change the legacy bootanimation by changing two files in the framework-res.apk, located in /system/framework. The files are located in /assets/images and are called android-logo-mask.png and android-logo-shine.png. These need to be .PNGs and you cannot change their size. The mask has clear lettering, the "shine" slides across behind it in a loop. It's a simple animation, but you can do a lot if you are creative.
Located in /system/sounds, the file called PowerOn.mp3 is what plays when the phone boots up if you don't have your phone set to Silent. There is no PowerOn.mp3 included in Hydra by default, so feel free to replace the placeholder file with a PowerOn.mp3 of your choosing. You can edit this in an audio editing program such as Audacity, GoldWave, or Sony SoundForge, or simply take any .mp3 file you have on your device and rename it to PowerOn.mp3 (*nix, and therefore Android, is case sensitive), and put it in this directory and that will play on boot up. Alternatively, you can just remove the PowerOn.mp3 file and no sound will play on boot.
build.prop
Check the comments section for the project files to see which build.prop is which. If you're downloading the .zip of the project, the build.prop files are already sorted. If you are making both a Virgin Mobile and Sprint version of your ROM (f you are releasing your ROM publicly, you should make a variant for both), you need to switch the build.prop file to the appropriate one, or that build will not work correctly.
There isn't much here that you'll have to change, but you will want to edit the 3rd, and perhaps 4th line:
ro.build.id=***************
ro.build.display.id=***************
Replace the stars with the name of your ROM, this will show up in the “About Phone” section. If you want the text in the notifications panel or on the lockscreen to change, edit the following line:
ro.cdma.home.operator.alpha=***************
Replacing the stars with the name you would like to show up instead of, for example, "Virgin Mobile," or "Sprint."
Make sure that the appropriate build.prop file is included in the appropriate build of your ROM. Based on Hydra, a Virgin Mobile or Sprint oriented build.prop is the only modification necessary to differentiate between a Sprint or Virgin Mobile ROM unless you make another modification of your own that needs to be changed for compatibility. An incorrect build.prop file will make the intended carrier's device unhappy.
- Note: Do NOT change ro.product.model or ro.product.manufacturer, you will have issues in the Play Store if you do. Same goes for changing the LCD Density.
Can be done in /system/usr/keylayout. If you want to remap a button, or remove functionality for a button altogether, you can edit the files in this directory. Some of the keys can be tricky to figure out which is which, for an example there are two Search buttons. The hardware/capacitive search button is Key #217.
Changing XML Files
If you open an APK or .Jar, you might not see all of the XML files or folders. There are Windows based APK tools (such as this) that can do this, but a simple zip tool cannot, so if you are looking for a file and cannot find it, this is why.
default_wallpaper
Also stored in framework-res.apk, in the folder /res/drawable, and is called default_wallpaper.jpg. Simply drag in a .jpg image with the same dimensions (640x480 px) and the same name, and the default wallpaper will be replaced with the one you just placed in there, so when users boot up their phone the default wallpaper is now what you changed it to.
Default / Home Launcher Replacement
If you wish to replace the default Launcher that Android uses when people install your ROM, take whatever Launcher you have downloaded and installed from either /data/app, if it's installed as a user app, or /system/app if you made it the system default. Copy the .apk file into your ROM in progress in the /system/app directory, and rename it to Launcher2.apk. Now when people use your ROM, their default Launcher will be whatever launcher you added and renamed to Launcher2.apk.
Extended Power Menu
This is theoretical, but should work: It requires a modified framework.jar, android.policy.jar, and framework-res.apk, all located in /system/framework with extra icons that are located in the /res/drawable-mdpi folder of the framework-res.apk.
What you could do is open up Sleipnir's framework-res.apk, and the UOT-modified framework-res.apk, and in /res/drawable select all of the files in the UOT-modified .apk, and drag them over to the Sleipnir .apk, which will overwrite Sleipnir's theme but should retain the icons necessary to the extended power menu, which in turn should (in theory) allow you to keep the extended power menu but with a different theme - if you're just re-theming Sleipnir. If you're building onto Hydra, you can then take the android.policy.jar and framework.jar files from Sleipnir, and drop them into /system/framework for Hydra after your theming.
From here, make sure you have both the screencap and screenshot binary files from Sleipnir or the ICS Elite ROM, found in /system/bin, and from there edit the installer to give both the correct permissions, as follows:
Code:
set_perm(0, 0, 0755, "/system/bin/screencap");
Code:
set_perm(0, 0, 04755, "/system/bin/screenshot");
And voila! You now have the extended power menu.
Fonts
Located in /system/fonts, you can drag and drop (as usual) different fonts in this directory, and the phone's display fonts will change accordingly. Don't like the ICS/JB Roboto font? You can change it to Comic Sans if you like, or something else. You can use Google-fu to find full packages of fonts for Android.
hosts File
Located in /system/etc, the hosts file is a file which contains both IP addresses and web addresses, and in turn blocks ads from those sources. A hosts file can be manually generated and/or edited by either yourself or an ad blocker, such as AdAway for Android. It should be noted that once a hosts file has been generated by an ad blocker, you do not need the ad blocker in order to get the benefits of an edited hosts file. Just copy the hosts file to /system/etc, and the user will experience less ads.
init.d
Located in /system/etc/init.d, you can add, edit, or remove init.d scripts in this directory. As long as you give them the appropriate permissions in the installer (all of the ones currently present already have the correct permissions), they should run just fine. Integral to the init.d scripts is...
install-recovery.sh
Don't worry, this isn't a ghost from the firmware coming back to haunt you and remove CWM. In Hydra (and Sleipnir both), this script was modified to perform only one function: allow init.d scripts to run. Without it, they are non-functional. Feel free to open the script and take a look. It is located in /system/etc.
Installer Editing
The ROM installer is located in /META-INF/com/google/android. The actual script is called updater-script. DO NOT edit with Notepad (using Notepad can mess up the file) - you need to either download Open Office and use Writer or download Notepad++ (links provided in the Prerequisites). There isn't a whole lot that needs to be changed, but it can be personalized - and if you're making changes to the init.d scripts or adding some of your own, you'll need to set the correct permissions for those files in the Installer as well. For additional help, I've added notes the installer, preceded with #s, from Sleipnir in order to break down what's going on in the Installer for you, that you can see if you open the Installer with Notepad++ or Writer. All in all, it's actually pretty easy to understand.
If you want to know more about the updater-script or Edify, see this thread.
local.prop
Located in /data, this should be left alone. This is for Supercharger/Adrenaline.
/Odex
This is needed for the self-odexing procedure done by the Installer. This should be left alone.
placeholder
Located in a few different directories (such as /data/local), the placeholder file exists to prevent the removal of the directory when no files are present in it. The size of the file is 0kb, and thus does not take up space/weigh the ROM down. Unless you are putting a file in a directory where a placeholder file exists, you should not remove the placeholder file.
ROM Signing
/META-INF, which contains the installer, also has the signing. If you use the optional statusbars, you don't import this. If you do, you will wipe out the ROM installer.
Search Button Remap to Camera
For Virgin Mobile: Download this .zip file. This is also available in the Hydra Project link (but not in the .zip, as this is optional). You will need to do the following:
- Replace the kernel/x_boot.img with the boot.img in the .zip.
- Just delete the old one and add the one from the .zip in.
- Elitescript, found in /system/bin should go into the same directory of your ROM in progress.
- The installer contains only the two lines you will need to add/modify in your ROM's installer.
- Finally, navigate to /system/usr/keylayout, and drop the touch_mcs8000.kl file from the .zip into your ROM in progress.
For Sprint: TBD.
Signing your ROM
Signing is optional, but you will want to tell your users they will have to disable the signature check in recovery. If you still want to sign it, search Google for “sign zip,” you will find plenty of results. This, for example, is one such result.
/system/app Replacement
- On a ROM: To replace a system app with another app you've downloaded, make sure that the /system/app directory is set/remounted to R/W. Then just copy and paste the app in there, reboot the phone into recovery, wipe the dalvik cache twice, then reboot the phone normally. If you want an Mms.apk to be replaced with another, make sure the names match case-for-case, to the letter, and the replacement app will overwrite the one being replaced.
- While Building a ROM: Even simpler; just drag and drop your chosen app into /system/app. If you want an Mms.apk to be replaced with another, make sure the names match case-for-case, to the letter, and the replacement app will overwrite the one being replaced.
And here we are at last: Theming your ROM. Whether you want it to look like ICS, JB, ICS/JB, or something else entirely, there are two files you need to edit: SystemUI.apk located in /system/app, and framework-res.apk located in /system/framework. The directory containing the files you need to edit in order to do theme work is the same: /res/drawable-mdpi. A wonderful theming tool for Android is UOT Kitchen.
- Note: In some cases, both framework-res and SystemUI have icons for the same component. One example of this is the Battery Icon component - both SystemUI and framework-res have files for the Battery Icon. In order to theme in this case, both sets of files have to match, or be identical. Signal Bars are located in SystemUI, if you'd like to theme those, as well.
There are several threads/resources, some aforementioned but included to bring them all under one roof, that may be of great value to you as you embark on your ROM Developing journey to the following funky beat.
- [GUIDE]Development Guides (For Interested Devs)
- [GUIDE] How to make your OWN CUSTOM ROM
- [Guide]Complete Android ROM development and essential tutorials
- [TWEAKS][SCRIPTS] Collection of 'em all - build.prop; init.d; etc.
- [Boot Animation] [unsupported] A Huge Collection of Boots
- http://androidforums.com/elite-all-things-root/664141-guide-removing-stock-apps-12-21-2012-a.html
- Aroma, Edify, updater script Question and Answer thread
DevHost is an excellent option for the ROM (similar download speeds to Mediafire, similar upload speeds to SendSpace). DevHost also generates an MD5 Sum for you so you don't have to find it manually. Mediafire and SendSpace are both great for mirrored uploads (meaning the same file is uploaded to another location in case, for whatever reason, the primary location is down). For images for your thread, Photobucket and Imageshack are great.
So Have at It
This is meant as a learning experience as well as a way to get people started messing with ROMs and just see what people come up with. So have fun with it. Please remember to thank those who help you accomplish your ideal ROM.
One last thing
Please don't add one little app and post it as a new ROM. If you want to do this for yourself or a few friends, that is perfectly fine, but if everyone does that and posts it we will have a flood of ROMs hardly any different. Try and differentiate yourself if you plan to upload it for others to use.
And so, here we go, down the road.
------------------------------------------------------------------------------------------------------------
Credits
Most of the credit goes to Hashtag, Curtis, KTB, giantpune, and Leslie Ann. Please thank them for their contributions and their hard, quality work and assistance in building this ROM. Also thanks to pilot03 for helping me get a Sprint version of both Sleipnir and, as a direct result, Hydra, up and going. Please thank all of them for their hard, quality work, and their assistance in helping to build this ROM. Without it, without them, and without you, this ROM would not exist.
Thank you.
------------------------------------------------------------------------------------------------------------
Credits
Most of the credit goes to Hashtag, Curtis, KTB, giantpune, and Leslie Ann. Please thank them for their contributions and their hard, quality work and assistance in building this ROM. Also thanks to pilot03 for helping me get a Sprint version of both Sleipnir and, as a direct result, Hydra, up and going. Please thank all of them for their hard, quality work, and their assistance in helping to build this ROM. Without it, without them, and without you, this ROM would not exist.
Thank you.