• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[GUIDE]How To Port ROMS to Your Device [AOSP]

Search This thread

Cool_Adi

Member
Jul 3, 2016
16
16
Mumbai
CM13 didnt boot stuck on cm logo

i ported cm 13 from cm11 the cm 13 is made for clone of my device (nibiru h1) and the cm 11 is made for my device karbonn octane plus i followed ur steps and ported the rom it went till cm logo but didnt boot the cm logo keeps flashing the logcat is as follows......
the logcats are too big almost 50 mb so i m giving google drive link to them


Update:- fixed some of the problem caused by frameworks but still not booting the logs are as follows
 
Last edited:

Meme :D

Senior Member
Jan 16, 2015
84
22
Redmi K20 Pro
Hey bro, i want to ask you something.
I have Lenovo Tab 2 A8-50F
I want to port AOSP rom from Lenovo Tab 2 A8-50LC
They are same devices but chipset is different
50LC have MT8735 and 50F have MT8161
Will this guide work? Also they are 64bit
 

Ali Haide 001

Senior Member
Jun 15, 2017
159
509
Hey bro, i want to ask you something.
I have Lenovo Tab 2 A8-50F
I want to port AOSP rom from Lenovo Tab 2 A8-50LC
They are same devices but chipset is different
50LC have MT8735 and 50F have MT8161
Will this guide work? Also they are 64bit
No you can't if device processor is not similar.

Bro this guide is for porting rom for devices with exact similar specs.
Like the if the processor is snapdragon 808 for one device the other device for which you are porting rom must be same if not it won't work.

Yes i have heard that you can port roms for devices with different specs but it is harder than this.
Have a nice day.:highfive:
 
  • Like
Reactions: Meme :D

edkmho

Senior Member
Aug 6, 2005
234
20
Hi All,
I am going to try to port my first rom and any help would be appreciated.

My goal is to make my current phone HTC U11+ running AOSP rom. I have setup my Linux Ubuntu 16.04 with the appropriate AOSP repo, i have also downloaded the source code from HTC Dev side. Current version of Android is 8.0.0

Need advise where to start.
 

just_ed

New member
Jul 25, 2018
2
0
From 7.1.2 to 8

There is RR ROM based on Android 7.1.2 for my device. Is it possible to use a ROM based on Android 8?
For instance:

My device: Nubia Z11 mini S (Android 7)
Another device: Xiaomi Redmi Note 4 (Android 8)

I mean there is no ROM based on Android 8 for my device. So, can I jump from 7 to 8 using this method?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 83
    Code:
    /*
     * ~ DO READ THIS BEFORE ATTEMPTING~
     
     * Iam not here to guarantee any successful PORTING. nor i am responsible
       for bricked devices, dead SD cards, or a broken device. YOU are
       choosing to make these modifications, and if you point the finger
       at me for messing up your device, I will laugh at you. But I will try
       my best to explain all the necessities, so you won't mess up your Device.
     *
       ~END
    */


    Hello XDA'S Today i'm back with a useful guide/tutorial for ANDROID ROM PORTING

    may have tried porting roms to their phones and has been succefull but most of the case is that we being end up in bootloops or cwm errors

    So i'm dedicating this post for all users how are having a craze of rom porting or for atleast those wgo wanted to try rom porting

    SO LETS START
    There are two phases or rom porting
    1) Its finding the correct port and source roms for ROM PORTING copying the files which is explained here
    2) After a succefull port also the rom may not work properly ,we have to sort out the bugs to for a rom to become perfectly working

    So with no more blahh blahh blahh Lets start the PORTING procedure :fingers-crossed: :fingers-crossed:

    And lastly Before you a port a ROM, make sure you asked permission from the Developer!

    What you'll need:
    1. WinRAR/7zip
    2. Notepad++ (When developing, always use this)
    3. Android SDK (For Logcatting & DDMS)
      Some basic knowledge about Android
      If you are on Linux/Unix/BSD use your favorite Archiving Tool & Text Editor.



    What is base Rom:

    The ROM which is Developed For your Mobile..
    You can use either CM or any other AOSP roms as your Base ROM

    What is Port Rom:

    The Rom Which you want to port to your Device.
    Make sure that the rom has most of the hardware specifications as of your base rom

    STEP1;

    Take any clean CM9, AOSP, CM7, CM10 ROM which is running on your device as Base ROM

    STEP2:

    Extract it Using Winrar.
    image.jpg

    STEP3:

    Take the ROM you want to port. This Port ROM. Extract it also using Winrar.


    STEP4:

    Delete app, Framework, Fonts and Media folder in System Folder of Base ROM.
    image.jpg



    STEP5:

    Now copy app, Framework, Fonts and Media folder in System Folder from Port rom to base rom system folder.
    image.jpg



    STEP6:

    Now open etc folder in both the ROMs folder.


    STEP7:

    In etc folder of base ROM open permissions folder and copy all the permissions files in Port rom to your base ROM folder except platform and handheld_hardware
    image.jpg

    STEP 8: .And Then open init.d Folder in Base ROM and Delete Every thing except banner and then copy all the files inside init.d folder of port ROM to Base ROM.
    image.jpg

    STEP9:

    Now open buid.prop file using Notepad++ and make changes to these of Base Rom as you wish.

    ro.build.id=
    ro.build.display.id=
    ro.build.date=
    ro.modversion=
    image.jpg


    STEP10:

    In build.prop file change these to same as Port Rom build.prop values.

    ro.config.ringtone=
    ro.config.notification_sound=
    ro.config.alarm_alert=
    ro.cmversion=
    ro.modversion=
    image.jpg

    Also Copy anything you Find Extra in ADDITIONAL BUILD PROPERTIES related to theme..


    STEP11:

    COPY THE set_perm Lines in META-INF/com/google/android/updater-script From Port to Base ROM After Deleting set_perm lines in Base ROM's Updater-Script.
    image.jpg


    STEP12:

    If You find any extra file or folder in system folder of PORT rom than copy them to your base rom system folder.

    STEP 13:


    Last Step to ZIP THE FOLDERS IN ONE..
    SELECT META-INF, system, boot.img(if it is having), data(if it is having).
    Right Click and Select Add to Archive..
    Select Zip..
    Type the Name.
    Click OK..

    HERE THE BASIC ROM PORTING IS OVER BUT FOR SOME SPECIFIC COSTUME ROMS WE NEED LITTLE MORE STUFFS TO WORK ON ,THEY ARE SHOWN BELOW

    ONLY FOR MIUI ROMS :

    Copy telocation.db and yellowpage.db From /system/etc folder to yours..

    Copy content-types.properties file From /system/lib to yours..

    Copy invoke-as from miui4 rom to /system/xbin and give it permissions on updater-script
    set_perm(0, 0, 06755, "/system/xbin/invoke-as");
    Note:It is needed for backup & themes app to work

    Copy liblbesec.so from miui 4 to /system/lib and give permission on updater-script
    set_perm(0, 0, 0755, "/system/lib/liblbesec.so");
    It is needed for superuser app from miui to work

    Change values Some of the Values in build.prop of your ROM:
    ro.build.id=MIUI
    ro.build.display.id=MIUI
    ro.build.version.incremental=2.x.x (version number)

    ro.config.ringtone=MI.ogg
    ro.config.notification_sound=FadeIn.ogg
    ro.config.alarm_alert=GoodMorning.ogg
    ro.config.sms_received_sound=FadeIn.ogg
    ro.config.sms_delivered_sound=MessageComplete.ogg


    FOR ParanoidAndroid And PAC:

    Copy paranoid folder inside system/etc to yours..
    Go to META-INF/com/google/android/Updater-Script of your base ROM and open it with Notepad++
    Copy this line:

    set_perm(1000, 1000, 0644, "/system/etc/paranoid/properties.conf");


    Specially For PA:

    Now Open Build.prop in /system with Notepad++
    Copy these lines in Additional Properties of Build.prop:

    Depends on Resolution Of your device can be pa_hdpi/pa_mdpi/pa_xhdpi. Change it according to your device.
    ro.pa.family=pa_mdpi
    Depend on pa version. Replace x.xx with the version of PA you are porting.
    ro.pa.version=x.xx

    Specially For PAC Rom:
    Now Open Build.prop in /system with Notepad++
    Copy these lines in Additional Properties of Build.prop:

    Replace the x.x.x with your PAC Rom version
    ro.pac.version=x.x.x
    Customize these lines according to your wish.
    ro.pacrom.version=mesona_PAC_jb-alpha-v19.0.0
    ro.modversion=mesona_PAC_jb-alpha-v19.0.0
    Depends on Resolution Of your device can be pa_hdpi/pa_mdpi/pa_xhdpi. Change it according to your device.
    ro.pa.family=pa_mdpi
    Depend on pa version. Replace x.xx with the version of PA you are porting.
    ro.pa.version=x.xx
    Modify this line according to your AOKP version
    ro.aokp.version=mesona_jb-Milestone-1
    Modify it according to your base ROM's build.prop
    ro.cm.version=xxxxxxxxxxxx
    Replace any line in Your build.prop which appear twice mainly ro.cm.version and ro.modversion

    FOR SPECIFIC MANUFACTURE DEVICE
    For HTC Devices:

    To fix network auto select-

    Decompile framework-res.apk
    Go to \framework-res\res\values\bools.xml and change change <bool name="skip_restoring_network_selection">true</bool> to false

    To Fix Graphichal issues:
    Code:
    Decompile framework.jar
    Change these files with your base
    smali\smali\android\os
    Environment
    SystemProperties
    smali\smali\android\view
    HardwareCanvas
    HardwareRenderer$Gl20Renderer
    HardwareRenderer$GlRenderer
    HardwareRenderer

    IF YOU ARE HAVING BOOTLOOP THEN COPY THESE LIB FILES TO BASE ROM FROM PORT ROM:

    libandroid_runtime.so
    libandroid_servers.so
    libmedia_jni.so


    IF YOUR BASE ROM HAS ISSUES LIKE CAMERA ISSUE THAN YOUR PORTED ROM TOO WILL HAVE ISSUES.

    NOW ZIP YOUR ROM AND POST IT BUT DON'T FORGET TO GIVE CREDITS TO THE DEVELOPER OF PORT ROM..

    TROUBLESHOOTING AFTER SUCCEFULL PORT

    After a succefull port also there can be many bugs present which has to soved logically
    here are somethings which can help in DEBUGGING

    1) IF GALLERY FC :
    open the system/framework and find framework-res.apk file[can use any extracting app]
    in both the roms and go to res folder then to xml subfolder and copy and replace the storage_list.xml file from source to port rom
    ( framework-res.apk\res\xml\storage_list.xml)

    Porting Wallpapers | Lockscreen Wallpapers | bootanimation

    Usually you get a wallpaper/bootanimation that doesn't fit your device. Here's a quick tutorial on how to port it to your device.

    Download & Install FreeImageConverter then launch it.
    For Wallpapers & Lockscreen Wallpapers:
    Click Add Folder... and add the folder were the wallpapers are
    Then click Advanced Convert...
    Select Exact Size and set the image quality to 100
    Set your Width and Height resolutions for your device.
    Uncheck Add "Converted by www.freeimageconverter.com"
    Select Leave the same file name and leave the Postfix & Prefix empty. Then set your output in a folder.

    For bootanimation:
    Extract /system/media/bootanimation.zip OR /data/local/bootanimation.zip OR /system/customize/resource/bootanimation.zip (For Oxygen ROM, the bootanimation is built into the framework-res)
    Do the steps above
    Move the new resized folder(s) into your bootanimation workspace
    Edit the desc.txt to match your device resolutions
    Zip the contents ( folder_name desc.txt )
    Set compression method to Store
    Delete the extracted bootanimation files
    Make sure this new bootanimation.zip is in PORTED


    Credits & Thanks to

    # rishabh.raj37
    # Peteragent5



    Happy porting! :cowboy::cowboy::cowboy:
    :laugh:
    5
    reserved

    for clarification
    3
    This method gives bootloop too often. It works only for very similar devices like Xperia J & Arc or Huawei u8818
    not really ,,i have tried porting with this and it worked succefullyy

    :laugh:
    may be you have to try it perfectly
    2
    Yes. This method gives a lot of bootloops. It only can be used on devices with hairline differences between specs.

    Sent from my GT-N7000 using XDA Premium 4 mobile app
    2
    Yes. This method gives a lot of bootloops. It only can be used on devices with hairline differences between specs.

    Sent from my GT-N7000 using XDA Premium 4 mobile app
    have you tried this methode,,iam sure it will work,,:laugh::laugh: