[Android Q&A, Help & Troubleshooting] maxritz:
Hi Guys,

It is important to know that the porting process for lollipop pretty much remains the same to a large degree.. There are some hits and misses. But I am adding below a list of files that have been used as a replacement on the vibe 2.5 ROMs .

The Vibe 2.5 ROMS seem a little complicated and seem to need a large replacement set. If we find a shorter way or if you find a shorter way, please comment that and it can be a part of this guide.

This is specific to the Lenovo A7000 series . The source ROM is from a K3 note.

When you port an AOSP ROM , you may need lesser replacements in libs and bins, but you may need to replace the sdcard binary sometimes. so be careful and happy porting.

here is a list

-------------------------------------

bin

etc

lib

lib64

******************************************************

-------------------------------------

/system/bin

-------------------------------------

audiocmdservice_atci

bcc

bootanimation

ccci_mdinit

downloader

factory

gzip_static

hostapd

installd

ip6tables

ipod

iptables

make_ext4fs

mdnsd

mtkbt

ndc

netd

pq

recovery

vold

wpa_cli

wpa_supplicant

-------------------------------------

******************************************************

-------------------------------------

/system/etc

-------------------------------------

/system/etc/.tp overwrite

/system/etc/firmware replace all

/system/etc/mddb replace all

apns-conf.xml

spn-conf.xml

-------------------------------------

******************************************************

-------------------------------------

/system/lib

-------------------------------------

lib3a.so

lib3a_sample.so

libacdk.so

libadpcm.so

libAGifEncoder.so

libaudioflinger.so

libaudiopolicymanager.so

libaudiopolicymanagerdefault.so

libaudiopolicyservice.so

libbcc.so

libbcinfo.so

libbtcusttable.so

libc.so

libcam.camadapter.so

libcam.camnode.so

libcam.camshot.so

libcam.client.so

libcam.hal3a.v3.so

libcam.halsensor.so

libcam.iopipe.so

libcam.jni.lomohaljni.so

libcam.metadataprovider.so

libcam.paramsmgr.so

libcam.sdkclient.so

libcamalgo.so

libcamdrv.so

libcameracustom.so

libcameraservice.so

libcamera_client_mtk.so

libdpframework.so

libexif.so

libextsimap.so

libfeatureio.so

libhwui.so

libimageio.so

libimageio_plat_drv.so

libinputflinger.so

libjpeg.so

libLLVM.so

libm4u.so

libmdnssd.so

libmedia.so

libmediaplayerservice.so

libMiraVision_jni.so

libn3d3a.so

libnetd_client.so

libpng.so

libpq_cust.so

libquickshot.so

libRS.so

libRScpp.so

libRSCpuRef.so

libRSDriver.so

libshowlogo.so

libsqlite.so

libssl.so

libstagefright.so

libstagefright_omx.so

libstagefright_soft_aacdec.so

libstagefright_soft_aacenc.so

libstagefright_soft_flacenc.so

libstagefright_soft_hevcdec.so

libstagefright_wfd.so

libsurfaceflinger.so

mtk-ril.so

mtk-rilmd2.so

-------------------------------------

******************************************************

-------------------------------------

/system/lib64/egl

-------------------------------------

libGLES_mali.so

-------------------------------------

******************************************************

-------------------------------------

/system/lib64/hw

-------------------------------------

audio.primary.mt6752.so

audio_policy.default.so

gps.default.so

mmsdk.default.so

sensors.mt6752.so

-------------------------------------

******************************************************

-------------------------------------

/system/lib64

-------------------------------------

lib3a.so

lib3a_sample.so

libacdk.so

libaudiopolicymanager.so

libaudiopolicymanagerdefault.so

libaudiopolicyservice.so

libbcc.so

libbcinfo.so

libbinder.so

libbtcusttable.so

libc.so

libcam.camadapter.so

libcam.camnode.so

libcam.camshot.so

libcam.client.so

libcam.hal3a.v3.so

libcam.halsensor.so

libcam.iopipe.so

libcam.jni.lomohaljni.so

libcam.metadataprovider.so

libcam.paramsmgr.so

libcam.sdkclient.so

libcamalgo.so

libcamdrv.so

libcameracustom.so

libcameraservice.so

libcamera_client_mtk.so

libdpframework.so

libexif.so

libfeatureio.so

libhwui.so

libimageio.so

libimageio_plat_drv.so

libinputflinger.so

libjpeg.so

libLLVM.so

libm4u.so

libmdnssd.so

libmedia.so

libMiraVision_jni.so

libn3d3a.so

libnetd_client.so

libpac.so

libpng.so

libpq_cust.so

libquickshot.so

libRS.so

libRScpp.so

libRSCpuRef.so

libRSDriver.so

libsoundtrigger.so

libsqlite.so

libssl.so

libstagefright.so

libstagefright_omx.so

libstagefright_soft_aacdec.so

libstagefright_soft_aacenc.so

libstagefright_soft_flacenc.so

libstagefright_soft_hevcdec.so

libsurfaceflinger.so

-------------------------------------

Have these files ready in a folder separated into their respective folders.

NOTE:

DO NOT REBOOT THE PHONE AFTER YOU FLASH THE ZIP.

once you are done flashing the zip, mount the system and delete the recovery-from-boot.p (this is very important else you will end up with a messed up recovery )

once that is done, keep the system mounted and use the following commands

open the folder you have the files arranged correctly in.

it should have the folders as bin, etc , lib , lib64 .

press shift and right click , select open command window here.

when you open the command window use the command below to push the files to the phone.

adb push . /system

******************************************************

pull the build.prop with

adb pull /system/build.prop

--------------------------------

edit build.prop with the values below

ro.lenovo.region=row

ro.sf.lcd_density=320

ro.product.locale.language=en

ro.product.locale.region=US

#add below lines for adb debugging.

persist.service.adb.enable=1

persist.service.debuggable=1

persist.sys.usb.config=mtp,adb

----------------------------------------------------------------------------------------------

save this file and push it back with the command

adb push build.prop /system

----------------------------------------------------------------------------------------------

Boot.img editing.

This is the same as the others but ensure your default prop is as below to enable debugging.

#

# ADDITIONAL_DEFAULT_PROPERTIES

#

ro.adb.secure=0

persist.service.adb.enable=1

persist.service.debuggable=1

persist.sys.usb.config=mtp,adb

persist.service.acm.enable=0

ro.secure=0

ro.allow.mock.location=0

ro.debuggable=1

ro.zygote=zygote64_32

ro.mount.fs=EXT4

camera.disable_zsl_mode=1

dalvik.vm.dex2oat-Xms=64m

dalvik.vm.dex2oat-Xmx=512m

dalvik.vm.image-dex2oat-Xms=64m

dalvik.vm.image-dex2oat-Xmx=64m

ro.dalvik.vm.native.bridge=0

--------------------------------------------------------

Remember some ROMS need the partition to be 2.6 GB. i have scatter that can make the system partition 3 GB. I will upload that and share a link here.

--------------------------------------------------------

flashing the rom

the updater-script needs a bit of edit to flash the Rom as it is on the phone. Delete the lines in red.

replace the boot.img with the edited boot.img (I hope you all know how to do that edit)

--------------------------------------------------------------------------------------------------------------------

mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/data", "");

get_lenovo_custom1("1431948134") == "OK" || abort("Can't install this package (Mon May 18 19:22:14 CST 2015) over newer build (" + getprop("ro.build.data") + "). Or lenovo can't allow to rollback.");

unmount("/data");

getprop("ro.product.device") == "aio_otfp" || abort("This package is for "aio_otfp" devices; this is a "" + getprop("ro.product.device") + "".");

show_progress(0.750000, 0);

format("ext4", "EMMC", "/dev/block/mmcblk0p6", "0", "/system");

block_image_update("system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat");

show_progress(0.050000, 5);

assert(package_extract_file("boot.img", "/tmp/boot.img"),

write_raw_image("/tmp/boot.img", "bootimg"),

delete("/tmp/boot.img"));

assert(run_program("/system/bin/dd", "if=/dev/zero", "of=/proc/driver/mtd_writeable", "bs=3", "count=1"));

assert(package_extract_file("logo.img", "/tmp/logo.img"),

write_raw_image("/tmp/logo.img", "logo"),

delete("/tmp/logo.img"));

assert(package_extract_file("uboot.img", "/tmp/uboot.img"),

write_raw_image("/tmp/uboot.img", "uboot"),

delete("/tmp/uboot.img"));

assert(package_extract_file("mobicore.bin", "/tmp/tee1.img"),

write_raw_image("/tmp/tee1.img", "tee1"),

delete("/tmp/tee1.img"));

show_progress(0.200000, 10);

mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/data", "");

delete_recursive("/data/data/com.chinamworld.main/.cache");

unmount("/data");

mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/data", "");

!(get_lenovo_custom2("1431948134") == "OK") || format("ext4", "EMMC", "/dev/block/mmcblk0p3", "0", "/data");

unmount("/data");

---------------------------------------------------------------------------------------------------------------

Resized Scatter

https://drive.google.com/folderview...04YnE0V2UxXzVtOTBseWd5T2FqWmh5TDg&usp=sharing

To flash with the new scatter you will select the upgrade or format + download option. ensure the DL all with checksum is selected. You will need to select the right files and all the files need to be selected. Ensure you check tutorials on xda before you undertake this.

Remember to start from scratch, you will need to flash the custom recovery. you can find the custom recovery on xda. start there.

Disclaimer:

I am not responsible for any mess you get into with these steps. Remember, if in doubt ask questions, watch videos and learn before you mess things up.

Press THANKS if this helps you and rate this thread the way it helped you. Thanks again. Took some time to write this for you all. :fingers-crossed: