I was going nuts with the bootloops. After lots of image backups/restores, I finally found that PlayStore was causing the boot loop, and then found here everyone else having the same problem. According to previous solutions, I could kill and delete the broken PlayStore, but had some problems to install the new PlayStore because of the packages.xml having previous signature.
This is what I came as my complete solution:
During the boot loop, I just send these commands from adb:
• adb remount
• adb shell rm -r /data/data/com.android.vending
• adb shell rm -r /data/data/com.android.vending.updater
• adb shell rm -r /sd-ext/app/Vending*.apk
• adb shell rm -r /sd-ext/app/MarketUpdater*.apk
• adb shell rm -r /system/app/com.android.vending*.apk
• adb shell rm -r /sd-ext/app/com.android.vending*.apk
• adb pull /data/system/packages.xml
In a few moments the bootloop will stop and boot will go on.
While boot goes on you can open the downloaded packages.xml in a text editor:
• Search for: name="com.android.vending"
• You'll find a "package" block, and an "updated-package" block.
• Remove both blocks (from the start up to the closing tag)
Now go on with putting back the packages.xml, putting new Play Store apk, clearing cache and rebooting:
• adb push packages.xml /data/system/packages.xml
• adb shell chmod 664 /data/system/packages.xml
• adb shell rm -r /system/app/Vending*.apk
• adb shell rm -r /system/app/MarketUpdater*.apk
• adb uninstall com.android.vending.updater (dont know if necessary)
• adb push "D:\path-to\Vending-3.8.15.noupdate.norestrictions.dpi240.apk" /system/app/Vending.apk
• adb shell chmod 644 /system/app/Vending.apk
• adb shell rm /data/dalvik-cache/*com.android.vending*
• adb shell rm /data/dalvik-cache/*MarketUpdater.apk*
• adb shell rm /data/dalvik-cache/*Vending.apk*
• Some people tell you to clear dalvik-cache... Dont think it's necessary... that would be adb shell rm /data/dalvik-cache/*
• adb reboot
Hope it works for everyone as it worked for me.
PS: Please note that as other have said, apks may be installed in different locations ...