[HOW-TO] Port US S3 ROMs between carriers

Search This thread

tonu42

Senior Member
Nov 14, 2010
1,145
439
Won't doing this with tw or aosp from tmobile and att ruin the device because of RIL?

Sent from my SCH-I535 using xda app-developers app
 

Hero

Inactive Recognized Developer
Oct 15, 2010
1,397
5,129
Hidden Hills
Won't doing this with tw or aosp from tmobile and att ruin the device because of RIL?

Sent from my SCH-I535 using xda app-developers app

It shouldn't, but if you experience no signal, data, etc - open framework-res.apk from the ROM you want to port (eg. Paranoid Android) in 7zip and locate eri.xml and delete it. Then open framework-res.apk from the base ROM (eg. CM10.1) and take eri.xml from that ROM and put it in the framework-res.apk of the ROM you want to port.

Back when I used to port Paranoid Android this was what I did to solve the RIL issues (I ported from AT&T)
 

rossida

Senior Member
Dec 25, 2012
139
25
i got excited for a little after taking the nexus PA and trying to combine it with the CM10.1. successfuly patched it and the gapps. went into boot logo and got stuck there... Pure maybe u can help me out since u know more about porting. the developers for PA on VZ GS3 is MIA. ive tried many roms but my absolute favorite is PA with all the UI changes that can be done. I dont like the huge apps and this rom makes it so much better. But the 2.52 rom for VZ gives me some problems with BT and signal. I just want to fix it. someone help? :angel:
 

SoCalSpecialist

Senior Member
Jan 17, 2009
2,890
532
San Diego
as awesome and informative this thread is...

this **** is way outta my league..im trying to port over the "DarthStalker" rom and its frusting as hell..

ill just wait for you PM to bring us the extra goodies.
 

jlangleyrn

Senior Member
Jul 24, 2010
212
47
Thank you very much for sharing your knowledge. I have enjoyed playing around getting features from the note 2 working on my phone but kept getting stuck with porting a whole rom. The tips you have shared are a wonderful help and I appreciate you and your hard work.

Sent from my SCH-I535 using xda app-developers app
 

niv3d

Senior Member
Oct 15, 2010
1,658
274
Winter Haven
Any downfalls to porting ROMs versus tweaking the custom TW JB ROM? As far as compatibility goes...

Sent from my SCH-I535 using Tapatalk 2
 

tonu42

Senior Member
Nov 14, 2010
1,145
439
Any downfalls to porting ROMs versus tweaking the custom TW JB ROM? As far as compatibility goes...

Sent from my SCH-I535 using Tapatalk 2

Very little if any downfall. If you can make it work it'll act the same. I have a galaxy tab 8.9 and almost all the roms are ports from the 10.1 version and it runs like a champ.

Our phones are the same except for software and or radio restrictions.
 
  • Like
Reactions: niv3d

05Warrior

Senior Member
Mar 5, 2012
551
145
Cypress
So if I have a Verizon S3 that's rooted I could take a Sprint Rom and do what you wrote in the OP and then do what you posted in post 24 and my phone should work on Sprint Network?

EDIT: Or could I just install a Sprint Rom and use the Network?
 
Last edited:

NightxFall

Senior Member
Apr 23, 2012
252
29
I will attempt to port some touchwiz and aosp ROMs using this method later when I get home today and will report back on how it goes.

Sent from my SCH-I535 using xda app-developers app
 

Hero

Inactive Recognized Developer
Oct 15, 2010
1,397
5,129
Hidden Hills
as awesome and informative this thread is...

this **** is way outta my league..im trying to port over the "DarthStalker" rom and its frusting as hell..

ill just wait for you PM to bring us the extra goodies.

I just checked that ROM. The process in the OP should work perfectly. Make sure you're porting the S3 version and not the S2 version.

So if I have a Verizon S3 that's rooted I could take a Sprint Rom and do what you wrote in the OP and then do what you posted in post 24 and my phone should work on Sprint Network?

EDIT: Or could I just install a Sprint Rom and use the Network?

No, you will still use Verizon's network.
 
  • Like
Reactions: SoCalSpecialist

SoCalSpecialist

Senior Member
Jan 17, 2009
2,890
532
San Diego
I just checked that ROM. The process in the OP should work perfectly. Make sure you're porting the S3 version and not the S2 version.

ha ha right?! na i made sure it was the S3 vers.

so i did as you instructed..and it flashed BUT i continuously get the FC of "process.com.android.phone has stopped"

any idea how to fix that?

thanks.

EDIT: well apparently i have no type of data either.
 
Last edited:

Hero

Inactive Recognized Developer
Oct 15, 2010
1,397
5,129
Hidden Hills
ha ha right?! na i made sure it was the S3 vers.

so i did as you instructed..and it flashed BUT i continuously get the FC of "process.com.android.phone has stopped"

any idea how to fix that?

thanks.

EDIT: well apparently i have no type of data either.

I'll try it and let you know. No data is a result of the incorrect eri.xml.

Tried porting http://xdaforums.com/showthread.php?t=2053697 using this, will not finish booting.

Figures. The only guide I know for sure works is the TouchWiz one. Lots of changes were made to AOSP that may have resulted in my method to not work. Grab a logcat by doing "adb logcat > logcat.txt" and upload it here.
 

undarated

Senior Member
Dec 16, 2009
176
109
Panhandle, Florida
ha ha right?! na i made sure it was the S3 vers.

so i did as you instructed..and it flashed BUT i continuously get the FC of "process.com.android.phone has stopped"

any idea how to fix that?

thanks.

EDIT: well apparently i have no type of data either.

I remember getting that FC when porting roms. Try swapping the Phone.apk for the stock one for verizon. I also remember the eri.xml and apns.xml had something to do with mms working and the roaming indicator. I've also been digging around in the international version which is probably a big mistake but, looking for what controls the usb and other hardware hoping to not brick this phone. I'm sure a lot of it is kernel related but I'm almost positive that there is a few other libs and bins within the rom itself to control the usb and sd cards. I'll probe into it some more later on and see if I can figure anything out
 

Hero

Inactive Recognized Developer
Oct 15, 2010
1,397
5,129
Hidden Hills
I remember getting that FC when porting roms. Try swapping the Phone.apk for the stock one for verizon. I also remember the eri.xml and apns.xml had something to do with mms working and the roaming indicator. I've also been digging around in the international version which is probably a big mistake but, looking for what controls the usb and other hardware hoping to not brick this phone. I'm sure a lot of it is kernel related but I'm almost positive that there is a few other libs and bins within the rom itself to control the usb and sd cards. I'll probe into it some more later on and see if I can figure anything out

vold.fstab in system/etc/ controls the SD card mounting. If swapping this file doesn't work you will have to make the corresponding changes to the ramdisk as they are shown in vold.fstab. USB mounting should be in the ramdisk.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 79
    Porting TouchWiz ROMs

    This guide is intended to help you port ROMs from AT&T, T-Mobile, and Sprint over to the Verizon S3. The guide will be split into two different parts. Porting CDMA to CDMA and porting CDMA to GSM.

    Just so there's no confusion:

    CDMA Carriers:
    • Verizon
    • Sprint

    GSM Carriers:
    • AT&T
    • T-Mobile

    REMEMBER: If you choose to port a ROM from another carrier, be sure to ask permission to post from the developer.

    What you need
    • 7zip
    • Notepad++ (If on Windows)
    • A ROM you want to port
    • A ROM from your carrier/device
    • Knowledge on how to compile and recompile .jar files (I will not cover this)

    Make sure the ROM you want to port and the ROM you are using as a base are the same Android version (e.g. 4.1.2) and have the same chip (e.g. MSM8960). You will be able to determine the chip type from the build.prop​

    PORTING CDMA TO CDMA (i.e. SPRINT TO VERIZON)

    1. Download the ROM you want to port
    2. Download a ROM from your carrier
    3. Unzip both ROMS
    4. In the ROM you want to port - delete /system/etc/apns-conf.xml
    5. Replace the apns-conf.xml you just deleted with the one from the ROM for your carrier
    6. In the ROM you want to port - delete /system/framework/GlobalConfig.jar (This .jar file contains a lot of carrier information)
    7. Replace the GlobalConfig.jar you just deleted with the one from the ROM for your carrier
    8. In the ROM for your carrier, locate the following lib files in system/lib and copy them over to the ROM you want to port
      • libreference-ril.so
      • libril.so
      • libril-qc-qmi-1.so
      • libril-qcril-hook-oem.so
      • libsecril-client.so
      If your carrier is Verizon and you're porting a Sprint ROM, delete all the apps with "Sprint" in the name including these:
      • SecContacts.apk
      • SecPhone.apk
      • PhoneInfo.apk
      Replace SecContacts.apk and SecPhone.apk with the Verizon ones.
    9. In the ROM you want to port - open up /system/build.prop in Notepad++
    10. Locate every instance of d2att, d2tmo, or d2spr and replace it with d2vzw (Use CTRL+F if you have to)
    11. Save the build.prop after all changes are made
    12. In system/framework/ of BOTH ROMs, decompile framework.jar and framework2.jar
      • In the framework.jar of the ROM you want to port - delete the following folders:
        • smali/android/provider
        • smali/android/telephony
        • smali/android/server
        • smali/android/service
        • smali/com/android/internal/telephony
      • Replace them with the folders from the ROM for your carrier
      • In the framework2.jar of the ROM you want to port - delete the following folders:
        • smali/android/provider
        • smali/android/telephony
        • smali/android/server
        • smali/com/android/internal/telephony
        • smali/com/google/android/mms
      • Replace them with the folders from the ROM for your carrier
    13. Build all of the jar files when finished (Please note that replacing the above folders will make the ROM operational to the point where MMS will work, but you may encounter other weird superficial errors. It's just too much work to go into the specifics.)
    14. Re-zip the ROM you want to port
    15. Flash in recovery

    PORTING CDMA TO GSM (i.e. VERIZON TO T-MOBILE & ATT / SPRINT TO T-MOBILE & ATT)

    1. Download the ROM you want to port
    2. Download a ROM from your carrier
    3. Unzip both ROMS
    4. In the ROM you want to port - delete /system/etc/apns-conf.xml
    5. Replace the apns-conf.xml you just deleted with the one from the ROM for your carrier
    6. In the ROM you want to port - delete /system/framework/GlobalConfig.jar (This .jar file contains a lot of carrier information)
    7. Replace the GlobalConfig.jar you just deleted with the one from the ROM for your carrier
    8. In the ROM for your carrier, locate the following lib files in system/lib and copy them over to the ROM you want to port
      • libreference-ril.so
      • libril.so
      • libril-qc-qmi-1.so
      • libril-qcril-hook-oem.so
      • libsecril-client.so
    9. Delete the following apps and replace them with the ones from your carrier:
      • SecContacts.apk
      • SecPhone.apk
    10. In the ROM you want to port - open up /system/build.prop in Notepad++
    11. Locate every instance of d2att, d2tmo, or d2spr and replace it with d2vzw (Use CTRL+F if you have to)
    12. Save the build.prop after all changes are made
    13. In system/framework/ of BOTH ROMs, decompile android.policy.jar, framework.jar, framework2.jar, and services.jar
      • You need to go through every smali file in all of the .jars and replace all instances of "Sprint" with "Verizon" or "Verizon" with "Sprint" depending on your carrier
      • In the framework.jar of the ROM you want to port - delete the following folders:
        • smali/android/provider
        • smali/android/telephony
        • smali/android/server
        • smali/android/service
        • smali/com/android/internal/telephony
      • Replace them with the folders from the ROM for your carrier
      • In the framework2.jar of the ROM you want to port - delete the following folders:
        • smali/android/provider
        • smali/android/telephony
        • smali/android/server
        • smali/com/android/internal/telephony
        • smali/com/google/android/mms
      • Replace them with the folders from the ROM for your carrier
    14. Build all of the jar files when finished (Please note that replacing the above folders will make the ROM operational to the point where MMS will work, but you may encounter other weird superficial errors. It's just too much work to go into the specifics.)
    15. Navigate to system/framework/ in both ROMs
    16. Open framework-res.apk from both ROMs in 7zip
      • In framework-res.apk in both ROMs navigate to /res/xml/
      • Delete eri.xml from the framework-res in the ROM you want to port
      • Replace the deleted eri.xml with the one from the ROM for your carrier
      • Save and close the modified framework-res.apk
    17. Re-zip the ROM you want to port
    18. Flash in recovery



    Obviously this guide will not work on more difficult ports such as bringing Sense to the S3, but the end result is that we will hopefully see more ROMs in the thread.

    Thanks TrevE :)
    30
    Porting AOSP ROMs

    ================================ START ================================

    What you need
    • 7zip
    • Notepad++ (If on Windows)
    • An AOSP ROM you want to port
    • An AOSP ROM from your carrier/device

    Make sure the ROM you want to port and the ROM you are using as a base are the same Android version (e.g. 4.1.1)​

    I will do the AOSP porting section with an example. Say I want to port Paranoid Android:
    1. Download Paranoid Android (Android 4.2)
    2. Download CM10.1 (Android 4.2)
    3. Unzip both ROMs
    4. In the CM 10.1 folder delete the following folders/files:
      • /system/framework
      • /system/app
      • /system/lib/libandroid_runtime.so
      • /system/media (optional)
      • /system/fonts (optional)
    5. Add the following folders from the PA ROM into the CM10.1 ROM:
      • /system/framework
      • /system/app
      • /system/lib/libandroid_runtime.so
      • /system/media (only if you deleted from CM10.1)
      • /system/fonts (only if you deleted from CM10.1)
        Only do the following if you are porting from GSM to CDMA or CDMA to GSM (i.e. Porting an AT&T ROM to Verizon)
        • Navigate to system/framework/ in both ROMs
        • Open framework-res.apk from both ROMs in 7zip
        • In framework-res.apk in both ROMs navigate to /res/xml/
        • Delete eri.xml
        • Replace the deleted eri.xml with the one from your base ROM
        • Save and close framework-res.apk
    6. Re-zip and flash in recovery

    ================================ END ================================

    If the ROM does not boot up, try a different ROM. For example, if you tried to port Paranoid Android 4.2 from AT&T and it didn't work. Try Paranoid Android from T-Mobile or the Galaxy Nexus, etc.
    14
    Wicked Sensation: http://www.androidfilehost.com/?fid=9390248398092763137

    This ROM is completely based on Sprint's OTA. It will work with KindaCrapMods due to the framework being about 95% similar to the Verizon version. However, the 5% difference may induce abnormal behavior such as irregular lockscreen clock readings. Also, the ROM does not include any tweaks outside of what is present in the original release.

    I WILL NOT be maintaining this ROM so if you want to see updates, start a thread for it.
    6
    Apologies for not quoting everything, but it was just too much.

    I didn't say that this guide was a fool proof method of porting ROMs as there is no way to to port ROMs that ensures everything will work. The purpose of these guides is not to make a ported ROM bugless. The purpose is to get a ROM built for another device booted on ours. Generally that's what guides do anyway. For example the guides by proxuser in the Android Development and Hacking section of XDA are not meant to make a ROM bugless. He posts his guide so that people can get different ROMs on their phones. The same goes for this guide - I am teaching people how to get ROMs working on this device. Perhaps I should add a disclaimer in the OP that says "This guide will not get everything working properly".

    In any case, when I made this guide I did not intend it to be used by people to just try porting and post broken ROMs. However, if users did boot their ports and were willing to work on them so that every feature works, then why not let them post? We all started developing at one point or another and I can say that for myself, when I started I hardly knew what I was doing, but I did research and learned. Why can't others do this as well? I don't automatically assume that "newbs" who don't know what they're doing can't learn and get better...

    A developer isn't the only person who has the rights to posting a ROM. If someone gets one booting, is sure that it won't permanently damage another's device, and is willing to work on it to fix all the bugs then they should be allowed to post it. It is just up to those who port to continue fixing bugs, not just boot the ROM and call it a day.

    Just to reiterate my points:

    1. This guide is not intended to get everything working (no universal guide can do that as each ROM is different)
    2. Don't think you're holier than anyone else just because you have dev experience. Others can learn...just as we all did.
    3. It is up to the porters to fix the bugs associated with their ports. If they have questions, they can ask for help.

    Also, no offence taken. I appreciate all of your opinions, but just wanted to express mine. I hope I didn't offend anyone and that we are still on good terms :)
    5
    Well if people feel this is the "incorrect" way to port ROMs then maybe they should create their own how-to... Just throwing that out there.

    Sent from my SCH-I535 using Tapatalk 2