Have you trimmed (applied fstrim
to) your device's partitions? If not, access the Android shell and then run these commands:
Become root:
su -
Trim the /data
partition:
fstrim -v /data
Trim the /cache
partition:
fstrim -v /cache
Remount /system
as read-write:
mount -o rw,remount /system
Trim the /system
partition:
fstrim -v /system
Reboot your device:
reboot
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:
adb shell
Now that you're inside the Android shell, you can run all the commands mentioned before (su -
, 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:
pm trim-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-1
, com.waze-2
and com.waze-3
, you have to delete com.waze-1
and com.waze-2
, but do not delete com.waze-3
. Repeat these steps for every appication folder under /data/app-lib
.
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.
Good luck.
Footnotes:
- 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 (pm
).
You can then use the GUI (graphical user interface) of Trimmer in order to trim the /data
, /cache
and /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.