There are multiple ways to identify a unique device or its user:
Keep a file in some (non-default) directory: You already said this; apps can often write to the internal storage of a device. This method is easy, works offline and is not the easiest to spot (place the file in some system-like directory and nobody will bother deleting it).
Keep track of a ...
When you uninstall an app using usual pre-Lollipop approach (e.g. dragging to "trash" icon, or from App info > Uninstall), it's only uninstalled on current user. It can be confirmed by app showing "Not installed" on stock app manager. Android will detect that the app is still there, preventing the user to install the app with same package name.
It's due to ...
I succeded adding the -k and --user options to the pm command, e.g.:
pm uninstall -k --user 0 com.android.service
The command was issued as root, no need to remount /system as rw. Android on the phone is 6.0 and the package is a system app. Without the extra option I get the error:
Well, since the FileManager.apk package resides in a /system/app/ directory it is a system app. So the general way to remove it is:
mount -o rw,remount /system
rm -rf /system/app/FileManager.apk
rm -rf /data/data/org.openintents.filemanager
mount -o ro,remount /system
If you have multiple users on your tablet, this means that the apps are installed by another user, and therefore take up space without being installed under your user account. Just open the other accounts and uninstall the apps from there.
In the Play store there is a 'installed' tab which as the name implies is of currently installed applications. The 'all' tab shows apps which have ever been installed on the device.
If you don't want a application to show up in this list, then from the phone open Play store, go into your My Apps and on the All tab you can click the circular remove icon to ...
Unfortunately, that is just not possible. The apk of system apps resides within system partition. The privileges (access rights) required to make changes in system partition are not given to ordinary users. We can only gain such higher privilege through rooting.
That said, if you are dealing with space issues than you are looking at wrong front. System ...
If you don't want to root your device, you can use adb and pm instead. These steps will be hard to follow unless you already are familiar with the use of command-line tools.
Install adb on your computer, and set things up so that it can communicate with your device. Don't forget to enable USB debugging on your device. It's a big hassle to get adb working ...
Technically the command adb shell pm unistall -k --user 0 does not uninstall an app from the device. Instead it just removes it from a user.
There are a couple of ways to get the removed app back to the user. One way is. Through an adb shell with the command:
adb shell cmd package install-existing <package_name>
Or an extreme way would be through a ...
One way to achieve what you want would include the following steps:
(temporarily) rooting the device
converting the app in question into a system app (e.g. using Titanium Backup ★ root, but there are also other apps helping you with this step)
unroot the device again
As the app now resides in read-only space (/system), the user cannot delete it without ...
Most after-market ROMs ship without Google Apps by default. Take a look at e.g. CyanogenMod, which is available for many devices. So if you can install custom ROMs, that's one way to go.
A different approach would be disabling all Google apps, or even remove them (on a rooted device). This might be a little more tricky as you would have to figure out all ...
For the following procedure you'll need adb installed on your computer (if you're not already have that, see: Is there a minimal installation of ADB?). Alternatively, a terminal emulator app should do as well.
Android apps are managed by the "Package manager", which has a command-line interface called pm. So here's what you can do with it for your case:
Logcat won't be much help here, as it only lasts back a limited time (it uses a ring buffer with a fixed size, so older entries get overwritten with new ones). Instead, better focus on the package manager:
adb shell "pm list packages -u -3"
gives you a list of all apps you have installed (the -3 restricts it to apps that didn't come pre-installed – ...
You don't have to uninstall, when you install an app already installed, you have to use adb install -r. (for more help, juste type adb)
To uninstall an app, you have to use adb uninstall package-name (e.g. adb uninstall com.example.app).
If you run adb with no arguments, the help text will tell you the answer to this question.
adb uninstall -k com.mycompany.myapp
removes the app but leaves the data and cache directories. Similarly,
adb install -r myapp.apk
reinstalls an existing app with a new APK file, keeping its data intact.
As a side-note, I don't know if this affects you, but don't ...
Apps are supposed to store their data and related files either in /sdcard/Android/data/com.app.id or /data/data/com.app.id; however, many apps (especially ones from China) don't abide by this guideline and create folders in storage individually, that store various information.
For example, apps using Aliyun SDK will generate .DataStorage, .SystemConfig and ....
From play store support:
You can use apps you bought on Google Play on any Android device
without paying again. However, each device must have the same Google
Account on it.
Reinstall an app you bought but deleted
Install an app on more than one Android device.
Install an app on a new Android device.
Even though the app ...
For the "typical end user", the easiest ways probably are:
If the "rogue" was installed from Google Play:
On a computer, open the Play Store Website with your favorite web browser
Log in with your Google Account credentials
Hit the "My Android Apps" tab at the upper-right of the page
Look for your "rogue" app
Hit the ...
Unless rooted, there is no way of uninstalling stock (system) apps.
That being said, even rooted uninstalling a stock app does not give you any usable free space (they're not on "user storage"). Disabling these app however, as suggested before, gives you all the other benefits you desire even on a stock, non-rooted Android.
To manually remove an app, you'll need to (manually) delete all of the following items:
The app's package, usually in /data/app/<package name>. For system apps, delete /system/app/<something>, /system/priv-app/<something> or /vendor/app/<something> instead, depending on where it resides. The folder and file name are not necessarily ...
If you open a file as Context.MODE_PRIVATE, then the file is created in /data/data/app_packagename and is only accessible to your app. You can see the permission and owner of these files in command line.
adb shell ls -al
drwxr-x--x 1 app_28 app_28 2048 Dec 6 2011 com.android.mms
But files in sdcard is public to all user, so you cannot find ...