Have you trimmed (applied
fstrim to) your device's partitions? If not, access the Android shell and then run these commands:
fstrim -v /data
fstrim -v /cache
/system as read-write:
mount -o rw,remount /system
fstrim -v /system
Reboot your device:
In order to run these commands as root (the "superuser"), you have to have rooted your device and need to have a previously-installed terminal emulator. If you don't have a terminal emulator, you can alternatively use ADB (Android Debugger) after you install it on your computer. If you don't have ADB yet, install the Android SDK Tools Only. After you install it, access its folder and you'll find a
platform-tools folder where the ADB executable binary file (
adb.exe, in Windows, or
adb, in Linux/OS X) is available.
If you intend to use ADB, use a USB cable to connect your Android device to such computer where ADB is installed, then go to your Android Settings, Developer Options, activate USB Debugging, afterwards run your computer OS's shell (Linux / OS X) or "command prompt" (Windows), use it to access the folder where the ADB executable binary is present, then run ADB followed by the shell word:
Now that you're inside the Android shell, you can run all the commands mentioned before (
fstrim -v /data et cetera).
If you don't have the
fstrim binary, you can run the Android package manager (
pm) in order to trim the caches:
...or, alternatively, you may want to try manually installing the Trimmer app (see the footnotes).
If this doesn't solve your issue, you may want to go back to
/data/app-lib and delete all the other duplicate folders (not only Whatsapp's) except those with the bigger number. Example: if inside
/data/app-lib there are the folders
com.waze-3, you have to delete
com.waze-2, but do not delete
com.waze-3. Repeat these steps for every appication folder under
After deleting all duplicate folders, restart (
reboot) your device and run Google Play Store app again. Did it fix the issue?
If you're still experiencing the issue, go back to the terminal emulator or ADB shell, become root again (
su -), then run
cd /data/app-lib and finally run this command in order to recursively fix ownerships:
chwon system:system *
Now restart your system (
reboot) and cross your fingers. Sometimes another app messes with the ownership of these folders, hence making system their owner and group fixes the issue.
- If you don't have
fstrim in your Android system, you can download Trimmer (
com.fifthelement.trimmer-1.apk) straight from my OneDrive and then install it manually. The manual installation doesn't require the Google Play Store app, but you'll have to go to Settings, then Security, and then activate the Unknown sources option. After you do this, you can use any file explorer on your rooted device in order to access the folder where you downloaded
com.fifthelement.trimmer-1.apk to, then touch the file and install it.
If you're in terminal emulator (or ADB shell) and you're already connected as root, you can
cd into the folder where you've put the
com.fifthelement.trimmer-1.apk file and then run this command:
pm install com.fifthelement.trimmer-1.apk
...in order to manually install the APK using Android's package manager (
You can then use the GUI (graphical user interface) of Trimmer in order to trim the
/system partitions. However, because
/system is mounted read-only, you need to first go to shell, become root (
su -) and then run
mount -o rw,remount /system in order to make
/system read-write. Only after doing so, run Trimmer and select all the three partitions for trimming.