Hello Everybody!
I'm sure this has been covered but I haven't found a tutorial or guide for the samsung captivate. I had ACL surgery today and I've decided i have the time to invest in creating a rom based on the things I like from other roms. Where do I start this process? Can i just mix files from within the .zips from other roms? or is there a file that tells the rom which files to install/access?
I've really enjoyed a lot of the ROM's that I have been flashing on my phone but I keep running into the same problem on all of them except one. Text messages occasionally go to the wrong person...and this is scary and unacceptable for me.
Some links to other threads or websites would be greatly appreciated.
Thank you for your time.
sdp07d said:
Hello Everybody!
I'm sure this has been covered but I haven't found a tutorial or guide for the samsung captivate. I had ACL surgery today and I've decided i have the time to invest in creating a rom based on the things I like from other roms. Where do I start this process? Can i just mix files from within the .zips from other roms? or is there a file that tells the rom which files to install/access?
I've really enjoyed a lot of the ROM's that I have been flashing on my phone but I keep running into the same problem on all of them except one. Text messages occasionally go to the wrong person...and this is scary and unacceptable for me.
Some links to other threads or websites would be greatly appreciated.
Thank you for your time.
Click to expand...
Click to collapse
Well, rom cooking is pretty easy.
As long as you know that component x is compatible with rom y, all you need to do is open the ROM in winrar/7z and drop the new file in, replacing the old one. No reason to unpack / repack. The only thing that can be a problem is the update-script, which resides in META-INF/com/google/android. It's a script that tells the phone "this is what you're doing with all of the stuff in this zip", if you modify a ROM like Axura or Perception, the update-script shouldn't need to be changed.
If you DO want to unpack and repack it, that's fine. Make sure you don't compress them into a sub directory (Update.zip > update > updates/system/meta-inf). Compress the updates/system/meta-inf/data whatever into it's own folder named whatever.zip, then sign the .zip via SignApk;
Code:
java -jar Signapk.jar certification.pem key.pk8 update.zip updatesigned.zip
Then flash it with CWM. Be aware however that in order for kernels(zImage) and modems(Modem.bin) and SBL(secondary boot loader) to be installed via CWM, the redband_ua exploit must be present in the updates folder; and the necessary commands for red_band must be present in the update-script.
Although I admit I have not yet fully grasped the concept of creating custom roms, the fact that all ROMS has a PDA file (collection of the rfs files and bins),
is there any way to edit the PDA file and remove any unwanted apps contained before flashing it to my phone?
I would recommend to pm a developer, with preinstalled thanks and apologies, they are all very helpful if you are polite, articulate, and appreciative
Sent from gt i9000 insanity 8.5/fugumod
Customs Roms are zip files. open them with winzip/wanrar.
Remove and add apk files to system folder if they are system apk files, remove/ add
files to data folder. They are your files to be installed automatically.
Put things in sdcard folder, these will be copied diecetly to sdcard. I flashed more than 100 times this way, no problem until now. I remove nearly 40-50 files from system folder, and my launcher, alarm, office...user apk files to datat folder. When the flashing ends, i have a fresh rom with installed many programs.
There is even a script file you can edit and change your language lets say.
Phonesetupwizard begins with your language.
@yken wow thanks a lot for that detailed instruction, it never occurred to me that you can modify it to that extent, i will be trying that asap ^^
Sent from my GT-I9000 using XDA App
lockzackary said:
@yken wow thanks a lot for that detailed instruction, it never occurred to me that you can modify it to that extent, i will be trying that asap ^^
Sent from my GT-I9000 using XDA App
Click to expand...
Click to collapse
All that happens if something is wrong is usually phone fails to boot or boot loops .
Update zip tool to zip and sign custom roms .
http://forum.xda-developers.com/showthread.php?t=717437&page=21
jje
I open this up to the broader community for discussion: Where do you think custom bootanimations should be stored on Lollipop devices?
Android 5.0 introduces a new /oem partition, that allows for a /oem/media/bootanimation.zip file that seems to take precedence over a system/media/bootanimation.zip file (although I haven't checked AOSP source yet to confirm the exact logic). So far only AT&T+Motorola has utilized this functionality on the AT&T-branded Nexus 6, although I imagine many more OEMs will follow, given the added simplicity it provides.
Given this new option, I humbly suggest that the bootanimation community collectively decide to start placing their bootanimations in oem/media/ (via manual directions and flashable zips) for Lollipop devices, for a number of reasons:
- If a device has a pre-loaded /oem/media/bootanimation.zip, the current flashable zips and manual directions to place at /system/media/bootanimation.zip simply will not work (/oem takes precedence)
- Placing the animation on the /oem partition will persist through an OTA update, ROM update, etc.
- Placing the animation on the /oem partition preserves the ability to receive OTA updates, while placing on the /system partition causes Android 5.0+ updates to fail
Ideally, all flashable zips would contain an updater-script that is more thoughtful than all that I've seen to date; specifically testing for an /oem partition and reacting appropriately.
I haven't looked at source yet, but it's interesting to note that /oem/media/bootanimation.zip seems to supercede /system/media/bootanimation.zip (if /oem is present, then only /oem matters), however /oem/media/audio is additive (ringtones and notifications from both /oem and /system are available to the user).
there are only 2 places to boot a boot animation into.. 1st is /system/media/, but its temporary there, and will get replaced when you flash a rom. 2nd place is /data/local/, there it will not get replaced if you flash a rom.
DA6030 said:
I haven't looked at source yet, but it's interesting to note that /oem/media/bootanimation.zip seems to supercede /system/media/bootanimation.zip (if /oem is present, then only /oem matters), however /oem/media/audio is additive (ringtones and notifications from both /oem and /system are available to the user).
Click to expand...
Click to collapse
That's because audio is selected out of a picklist whereas you cannot choose a boot loader.
Its always been the case that boot animation in /data/local will take over /system/media.
rootSU said:
Its always been the case that boot animation in /data/local will take over /system/media.
Click to expand...
Click to collapse
D'oh, I had forgotten about /data/local. So, that means there are three locations now.
/oem/media is documented in the AT&T Nexus 6 thread, although I'm not sure anyone's checked source to see how it's implemented, nor tested to see where it falls in precedence to /data/local.
http://forum.xda-developers.com/showpost.php?p=56942290&postcount=11
And for reference, looking at the Shamu build.prop, it looks like the oem.prop items are imported explicitly into the build.prop, so the precedence there is clear.
DA6030 said:
D'oh, I had forgotten about /data/local. So, that means there are three locations now.
/oem/media is documented in the AT&T Nexus 6 thread, although I'm not sure anyone's checked source to see how it's implemented, nor tested to see where it falls in precedence to /data/local.
http://forum.xda-developers.com/showpost.php?p=56942290&postcount=11
And for reference, looking at the Shamu build.prop, it looks like the oem.prop items are imported explicitly into the build.prop, so the precedence there is clear.
Click to expand...
Click to collapse
you cant just add it there after manually. and theres another place to put the boot animation, but only when building a rom. i dont remember the location, but you can see it yourself, if you delete the boot animations from /system/media/ and /data/local it will appear. this one just says android
simms22 said:
you cant just add it there after manually. and theres another place to put the boot animation, but only when building a rom. i dont remember the location, but you can see it yourself, if you delete the boot animations from /system/media/ and /data/local it will appear. this one just says android
Click to expand...
Click to collapse
It used to be compiled into the frameworks I think.. Not sure if thats still the case.
Heads UP
Don't know if this is actually what caused my bootloop... but I figured I'd mention it here.
I was trying to get rid of the AT&T boot animation on my N6 and while i was renaming to .bak thought to myself, "why don't I just do my own?" Grabbed another one online, put it in /oem/media/ and bam. No boot.
The worst part is I can't fix it without full restore to stock, because I can't seem to access or even view the /oem/ folder at all through recovery. Is it only mounted after boot?
Don't kow if this means anything to y'all, but I figured someone would find this information interesting.
I have tried several times to make use of the /OEM partition with no success. Every time I reboot the contents disappear.
i tried /data/local to see if it still worked and it didnt work for me....
cmh714 said:
i tried /data/local to see if it still worked and it didnt work for me....
Click to expand...
Click to collapse
i just tried myself, you are right. not working here as well.
simms22 said:
you cant just add it there after manually. and theres another place to put the boot animation, but only when building a rom. i dont remember the location, but you can see it yourself, if you delete the boot animations from /system/media/ and /data/local it will appear. this one just says android
Click to expand...
Click to collapse
It is within framework-res.apk/assets/images/ . . there are two images.
android-logo-mask.png
android-logo-shine.PNG
The mask is a static image with partial transparency. The shine scrolls from left to right behind the mask in a loop, shinning through the mask transparency. It is actually a pretty cool way to do it and I know @rascarlo uses it in rastapop instead of the traditional bootanimation.zip
hlxanthus said:
I have tried several times to make use of the /OEM partition with no success. Every time I reboot the contents disappear.
Click to expand...
Click to collapse
I have also tried (only on stock Google builds), and had the same experience.
OEM partition unformatted on non-ATT devices
hlxanthus said:
I have tried several times to make use of the /OEM partition with no success. Every time I reboot the contents disappear.
Click to expand...
Click to collapse
I just realized that on my device (not AT&T-branded), the /oem partition has always been RAW. So, I flashed the oem.img partition from AT&T firmware (although "fastboot format ext4 oem" would probably be good enough) the partition is now formatted correctly, and now I can use it for storing personalized ringtones, bootanimations, etc. that persist through a factory reset.
DA6030 said:
I just realized that on my device (not AT&T-branded), the /oem partition has always been RAW. So, I flashed the oem.img partition from AT&T firmware (although "fastboot format ext4 oem" would probably be good enough) the partition is now formatted correctly, and now I can use it for storing personalized ringtones, bootanimations, etc. that persist through a factory reset.
Click to expand...
Click to collapse
Okay, I gotta ask. I haven't been able to find the OEM.IMG in any of my searches, just the contents found there. I wasn't aware of any att specific factory images . . got a link you can share? If you don't remember, could you upload the IMG?
hlxanthus said:
Okay, I gotta ask. I haven't been able to find the OEM.IMG in any of my searches, just the contents found there. I wasn't aware of any att specific factory images . . got a link you can share? If you don't remember, could you upload the IMG?
Click to expand...
Click to collapse
There are definitely firmware repositories other than the official Google Developers site. The one I'm thinking of hosts the full .zip file they apply using mfastboot at the factory, which includes the signed oem.img, as well as radio parameters (e.g., SIM lock/unlock for subsidized phones). I can't remember XDA's policy on linking to other sites, so I'll leave it to say that if I search for "Motorola Firmware" (incognito, to avoid personalized search results) it's the 3rd and 4th link right now. The specific file you're looking for is SHAMU_LMY47D_release-keys_subsidy-ATT_CFC.xml.zip. I want you to find it, so if that's not helpful, let me know.
DA6030 said:
There are definitely firmware repositories other than the official Google Developers site. The one I'm thinking of hosts the full .zip file they apply using mfastboot at the factory, which includes the signed oem.img, as well as radio parameters (e.g., SIM lock/unlock for subsidized phones). I can't remember XDA's policy on linking to other sites, so I'll leave it to say that if I search for "Motorola Firmware" (incognito, to avoid personalized search results) it's the 3rd and 4th link right now. The specific file you're looking for is SHAMU_LMY47D_release-keys_subsidy-ATT_CFC.xml.zip. I want you to find it, so if that's not helpful, let me know.
Click to expand...
Click to collapse
Found it, thanks!
Edit: for the record fastboot format didn't work on OEM as it won't work on raw partitions. Extracted and flashed it just as you suggested and now have the crazy att boot animation . . which I will be deleting right now. Thanks a bunch. I will likely post something soon for people who wish to do this themselves.
For those interested in this, here is the OEM.IMG. Once I play with it some more I will open a dedicated thread on how to make use of this partition.
As a little teaser, as expected you can place and set default ringtone, alarm and notification tones. Or add a bootanimation.zip. What I expected to work though did, adding user apps to it. Simply create a directory of /app within the oem partion and place your apps in there. It should be noted there is only about 50mb of space in there. I simply used a file manager to go to the /data/app and copy the desired app folder to the oem partition.(not sure you have to but I simply mirrored the file structure used there). In my case I added a copy of Root Explorer and Titanium Backup in there so they are present for all new rom installs.
Download - SHAMU_subsidy-ATT_OEM.zip
hlxanthus said:
Edit: for the record fastboot format didn't work on OEM as it won't work on raw partitions. Extracted and flashed it just as you suggested and now have the crazy att boot animation . . which I will be deleting right now. Thanks a bunch. I will likely post something soon for people who wish to do this themselves.
As a little teaser, as expected you can place and set default ringtone, alarm and notification tones. Or add a bootanimation.zip. What I expected to work though did, adding user apps to it. Simply create a directory of /app within the oem partion and place your apps in there. It should be noted there is only about 50mb of space in there. I simply used a file manager to go to the /data/app and copy the desired app folder to the oem partition.(not sure you have to but I simply mirrored the file structure used there). In my case I added a copy of Root Explorer and Titanium Backup in there so they are present for all new rom installs.
Click to expand...
Click to collapse
That's a great discovery! Would you consider submitting this as a feature request to Titanium Backup ("move app to oem partition")?
Such a pity the partition can't be formatted from fastboot. Did you try including all the option parameters (ext4 and size)? Do you think it could work from the terminal in recovery (and therefore flashable zip)?
DA6030 said:
That's a great discovery! Would you consider submitting this as a feature request to Titanium Backup ("move app to oem partition")?
Such a pity the partition can't be formatted from fastboot. Did you try including all the option parameters (ext4 and size)? Do you think it could work from the terminal in recovery (and therefore flashable zip)?
Click to expand...
Click to collapse
Alas, I tried just a few variables with fastboot format and gave up and just flashed the OEM.IMG. But fastboot did throw an error stating it could not use the format function on a RAW partition, so I don't know if there is some variable that may have worked.
Only real problem is now that I have it formated I can no longer really test what may or may not work. I can play with it some and see if OEM is accessible via recovery (it is not shown in twrp file manager, that I do know). I have a few shamu guys I can call upon to test, so if I think something might work I will give it a shot.
As for any official TiBu support I doubt it would be accepted, the partition is only 50mb so not a lot of room for stuff.
hlxanthus said:
I can play with it some and see if OEM is accessible via recovery (it is not shown in twrp file manager, that I do know). I have a few shamu guys I can call upon to test, so if I think something might work I will give it a shot.
Click to expand...
Click to collapse
Oh, really good point - TWRP support (at minimum ability to for AT&T customers to wipe the partition, but also file manager) is a way better idea. If your shamu guys are able to format /dev/block/platform/dw_mmc.0/by-name/oem from RAW to ext4 using the appropriate updater-script or recovery terminal command, that would be great to point that out to the TWRP team, to add support for format and file manager. Worst case, I would think TWRP could implement wipe (for AT&T customers) using a delete_recursive. And if format is entirely off the table, one could accomplish the same thing with a flashable zip that flashes the AT&T oem.img and then does a delete_recursive.
By the way, have you tried the format commands in any of fastboot, updater-script or recovery terminal to format your ext4 partition back to RAW?
As an Android newbie, what bothered me most was coming across terminology beyond my comprehension. Not coming from a Linux background it became hard to keep up with the oh-so-commonly-used words spread all across the development community. Likewise, since I didn’t understand the terms, consequently I was unable to determine is something was of any use to me or not. From what I have seen, this problem extends to many novice and even average users.
One commonly occurring word when playing with custom ROMs and firmware, and even themes is deodexed and odexed. Most users fail to understand what these terms actually imply, and while developers would boast again and again about their themes and ROMs being deodexed, the average user is left clueless as to what is going on.
WHAT IS AN ODEX FILE?
In Android file system, applications come in packages with the extension .apk. These application packages, or APKs contain certain .odex files whose supposed function is to save space. These ‘odex’ files are actually collections of parts of an application that are optimized before booting. Doing so speeds up the boot process, as it preloads part of an application. On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.
THEN COMES DEODEX
Deodexing is basically repackaging of these APKs in a certain way, such that they are reassembled into classes.dex files. By doing that, all pieces of an application package are put together back in one place, thus eliminating the worry of a modified APK conflicting with some separate odexed parts.
In summary, Deodexed ROMs (or APKs) have all their application packages put back together in one place, allowing for easy modification such as theming. Since no pieces of code are coming from any external location, custom ROMs or APKs are always deodexed to ensure integrity.
HOW THIS WORKS
For the more geeky amongst us, Android OS uses a Java-based virtual machine for running applications, called the Dalvik Virtual Machine. A deodexed, or .dex file contains the cache used by this virtual machine (referred to as Dalvik-cache) for a program, and it is stored inside the APK. An .odex file, on the other hand, is an optimized version of this same .dex file that is stored next to the APK as opposed to inside it. Android applies this technique by default to all the system applications.
Now, when an Android-based system is booting, the davlik cache for the Davlik VM is built using these .odex files, allowing the OS to learn in advance what applications will be loaded, and thus speeds up the booting process.
By deodexing these APKs, a developer actually puts the .odex files back inside their respective APK packages. Since all code is now contained within the APK itself, it becomes possible to modify any application package without conflicting with the operating system’s execution environment.
ADVANTAGES & DISADVANTAGES
The advantage of deodexing is in modification possibilities. This is most widely used in custom ROMs and themes. A developer building a custom ROM would almost always choose to deodex the ROM package first, since that would not only allow him to modify various APKs, but also leave room for post-install theming.
On the other hand, since the .odex files were supposed to quickly build the dalvik cache, removing them would mean longer initial boot times. However, this is true only for the first ever boot after deodexing, since the cache would still get built over time as applications are used. Longer boot times may only be seen again if the dalvik cache is wiped for some reason.
For a casual user, the main implication is in theming possibilities. Themes for android come in APKs too, and if you want to modify any of those, you should always choose a dedoexed custom ROM.
Was this article helpful? If you are confused with some other terms and want us to help explain them, please let us know in the comments.
Screen Shots
Reserved 2.
Help for getting the deodexed files onto Galaxy Tab S 8.4
I have deodexed the 'app', 'priv-app', and 'framework' folders and the build.prop file using the JoelDroid batch deodexer tool (as outlined in this thread). I am looking for help for getting the deodexed files onto my Samsung Galaxy Tab S 8.4 (running Lollipop 5.0.2). My ROM is currently rooted with Knox 0x0 and I used FlashFire to get my device rooted and updated to lollipop (as outlined in this thread) - and as a result - I don't have a custom recovery such as TWRP installed. I read this guide that calls for deleting the old 'app', 'priv-app', and 'framework' folders and (via recovery) copying the new folders (with the deodexed files) to /system.
Since I don't have a custom recovery installed - what's the best way to get the deodexed files onto my device so that I can have a deodexed ROM (& still retain my Knox 0x0 status)?
Thanks for the help!
I think the only way is by installing Custom Recovery,
but, i will look for a way.
UPDATE: use your deodexer tool while following this steps without using the tool given there, the only downside is you need TWRP installed.
link : http://forum.xda-developers.com/galaxy-tab-s/themes-apps/how-to-deodex-stock-rom-t3254734
rob.allen78 said:
I have deodexed the 'app', 'priv-app', and 'framework' folders and the build.prop file using the JoelDroid batch deodexer tool (as outlined in this thread). I am looking for help for getting the deodexed files onto my Samsung Galaxy Tab S 8.4 (running Lollipop 5.0.2). My ROM is currently rooted with Knox 0x0 and I used FlashFire to get my device rooted and updated to lollipop (as outlined in this thread) - and as a result - I don't have a custom recovery such as TWRP installed. I read this guide that calls for deleting the old 'app', 'priv-app', and 'framework' folders and (via recovery) copying the new folders (with the deodexed files) to /system.
Since I don't have a custom recovery installed - what's the best way to get the deodexed files onto my device so that I can have a deodexed ROM (& still retain my Knox 0x0 status)?
Thanks for the help!
Click to expand...
Click to collapse
Thank you so much! I recently started to explore things like custom ROMs on my SM-T800. I can definitely use a crash course in things like this. Especially since I have not (yet) been able to get Xposed on CM 12.1, pacman-ROM and Phoenix-ROM.
Thanks!
rob.allen78 said:
Since I don't have a custom recovery installed - what's the best way to get the deodexed files onto my device so that I can have a deodexed ROM (& still retain my Knox 0x0 status)?
Thanks for the help!
Click to expand...
Click to collapse
Either create a flashable zip with those files or unpack the whole system image and replace those files/folders and create a flashable zip from that. Flash with flashfire.
You will need to set the correct permissions so best to use something like archi kitchen to automate it.
However considering there are a plethora of deodex roms currently available why bother?
DUHAlgerianSkills said:
I think the only way is by installing Custom Recovery,
but, i will look for a way.
UPDATE: use your deodexer tool while following this steps without using the tool given there, the only downside is you need TWRP installed.
link : http://forum.xda-developers.com/galaxy-tab-s/themes-apps/how-to-deodex-stock-rom-t3254734
Click to expand...
Click to collapse
Thank you for the reply. I was hoping that there was a way to do it without having a custom recovery. If I am not mistaken, flashing a custom recovery will trip Knox correct?
---------- Post added at 10:45 AM ---------- Previous post was at 10:34 AM ----------
ashyx said:
Either create a flashable zip with those files or unpack the whole system image and replace those files/folders and create a flashable zip from that. Flash with flashfire.
You will need to set the correct permissions so best to use something like archi kitchen to automate it.
However considering there are a plethora of deodex roms currently available why bother?
Click to expand...
Click to collapse
I may explore creating a flashable zip (any links for newbie to creating flashable zips?) The reason being is that there aren't any deodexed ROMS (stock tw) running the latest official build for my tablet (I am running bulld LRX22G. T700XXU1BOI1)
Thanks for these explanations
Create a flashable zip for your tab using this
https://play.google.com/store/apps/details?id=zip.me
i donno how it works but seems legit, check it out.
rob.allen78 said:
Thank you for the reply. I was hoping that there was a way to do it without having a custom recovery. If I am not mistaken, flashing a custom recovery will trip Knox correct?
---------- Post added at 10:45 AM ---------- Previous post was at 10:34 AM ----------
I may explore creating a flashable zip (any links for newbie to creating flashable zips?) The reason being is that there aren't any deodexed ROMS (stock tw) running the latest official build for my tablet (I am running bulld LRX22G. T700XXU1BOI1)
Click to expand...
Click to collapse
Hello, first post.
I've been looking for the better half of two days to figure this out and the only thing that comes close is a similar thread here:
https://forum.xda-developers.com/t/help-this-zip-is-not-a-magisk-module.4087019/
I tried creating a really simple module to replace a few System UI sounds, but I keep running into this error when installing. The resolution to the above thread was one of the mods repacked the OPs zip and it worked, and something about "Possibly the line endings were messed up."
Not sure what I have done wrong, I followed the guide at https://topjohnwu.github.io/Magisk/guides.html
I am not super tech savvy when it comes to actually creating stuff, Ive always been able to follow along other peoples instructions but I cant find anything to get this done.
Now android 11 doesn't allow mounting the system partition as RW I thought that I could do it with Magisk, but I'm at a loss of what to do now.
I have attached my module zip.
Any help would be massively appreciated! -PlutoniumRobot
You need to move the module contents to the root of the zip.
https://www.didgeridoohan.com/magisk/Magisk#hn_Zip_is_not_a_Magisk_module
Didgeridoohan said:
You need to move the module contents to the root of the zip.
https://www.didgeridoohan.com/magisk/Magisk#hn_Zip_is_not_a_Magisk_module
Click to expand...
Click to collapse
I believe the contents are at the root of the zip; meta-inf, module.prop, system. Am I missing something?
Not in the zip you have attached to the 1st post. They're in a folder named "Pixel Sounds" (and also doubled inside the "__MACOSX" folder), so you'll have to move them out from there...
Didgeridoohan said:
Not in the zip you have attached to the 1st post. They're in a folder named "Pixel Sounds" (and also doubled inside the "__MACOSX" folder), so you'll have to move them out from there...
Click to expand...
Click to collapse
Wow I am such an idiot. Thank you. Is it worth removing the post for my stupidity?
You're not at all the first to make that mistake, and definitely won't be the last (why do you think I have that section in the Magisk troubleshooting guide?)...
If you absolutely want the thread deleted I'm sure that can be arranged. Report the 1st post and a moderator that is assigned to this area of XDA can take care of it (I'm assigned to the Samsung forums, so I'm here I'm just another forum member but with a fancy badge).
But I'd recommend keeping it, since there's a real chance that someone will bump into this thread at some point (just like you found the other thread), and will be glad to find the info to help them with the same issue.