So this post is my last present to the community, I really hope someone will keep up the Liquid development.
The question I have most seen in this forum is How can I port a ROM? Well, first of all keep in mind that there isn't a way to port a ROM. I can tell you what you should change, not what you need to change. The following list is the list of the file I changed to get the CM 6.1.1 fully working. Obviously you should take them from a working Acer Liquid's rom (like my CM 6.1.1 v3 or LiquidNext) and then add/replace them in the rom you want to port.
Bluetooth.apk → To fix the bluetooth problem
Phone.apk → To fix the proximity sensor issue
Added liquid settings & GApps
Since you probably use the old sensor, you need to add all the *_yamaha files.
brcm_patchram_plus → To fix the bluetooth
netd → To fix the wifi hotspot (you MUST change also /lib/libhardwarelegacy.so too, else you will get a bootloop)
rild → To get the network working
servicemanager → To get the sensors working
vold → To get the vold working
the entire firmware folder to get wifi and sensors working
the init.d folder to tweak the rom
the permissions folder, added missing xmls
the entire wifi folder to get the wifi working
gps.conf → To improve the GPS
hosts → To fix ads
media_profiles.xml → To fix problems with camera and camcorder
vold.conf and vold.fstab → To fix vold, if you don't change them the rom won't boot.
Added com.google.android.maps.jar to fix problems with the apps which uses GMaps.
You can find there the files to tweak with smali to get some stuff working. For example, if you want to get the prox. sensor working well, you need to edit the PowerService class in services.jar.
the entire egl folder
the entire hw folder
the entire modules folder
all the libOmx* .so files → To get the camcorder working
all the libaudio* .so files → To get the audio working (if you don't change them, it won't boot)
libcamera.so and libcameraservice.so → These depends on the ROM.
libcm, libcommondefs.so, libdiag.so, libdll.so, libdsm.so, libdss.so, libeffects.so, libg*.so
libmmgsdilib.so, libmmipl, libmmjpeg.so, libnfc_ndef.so, libnv.so
libms3c_yamaha.so → To fix the sensors
liboemcamera.so → To fix the camera & camcorder
liboncrpc.so, libpbmlib.so, libqmi.so, libqueue.so
libstagefright_*.so → These are usually not required
The placeholder file. → To get sd working
the entire 'keychars' and 'keylayout' folders
The entire folder.
Edit build.prop and add/change the following strings:
ro.product.board=salsa ro.hw_version=4 rild.libpath=/system/lib/libril-acer-1.so
Obviously you also need to change the kernel and, if needed, you must also edit the BOOTCLASSPATH in the init.rc file in the ramdisk. Please refer to other tutorials for this.
- Pay attention to the updater-script. Sometimes all the problems are due to wrong permissions in it. Give a look to the updater-script of working roms to know more about it.
- This is the most important thing: LOGCAT. If you don't use it, you will never port a ROM. You MUST read the logcat to know what's wrong in your ports.
I hope you will find this post usefull and that you will receive the necessary knowledge. But to learn all this thing what you need is to keep trying.
Good bye community