114

All apps (root or not) have a default data directory, which is /data/data/<package_name>. By default, the apps databases, settings, and all other data go here. This directory is "private" to the app – which means no other app and not even the user can access data in it (without root permissions). If an app expects huge amounts of data to be ...


83

Java isn't interpreted on Android. Android apps are compiled to bytecode by the developer. Bytecode is a compact representation of the program: smaller than the source code written by the programmer, but still not directly executable by the CPU. Some optimizations, such as dead code removal, can be made at this stage. When you load the app on a device, the ...


82

Edit: I like ofir_aghai's answer better, although my answer may still be helpful for apps that aren't on the Google Play Store. If you're comfortable using the command line, a solution I like is Android's pm command. It can easily be called using adb like so: $ adb shell "pm list packages -f test" package:/system/app/AutomationTest_JBUP.apk=com.sec....


67

This is now in the Developer options area of your device settings, under the "Running Services" menu item: Note that if you cannot see the Developer options at the bottom of your settings, it is because they are hidden by default and need to be manually enabled.


63

Blame Microsoft not Google This behavior was reported in July this year. Microsoft was the culprit. See this XDA blog Microsoft is abusing Android’s share sheet by inserting ads for its apps with reddit and Android Police links. This clearly is a violation of monetisation and ads policy as stated in the blog. See Google Play Content Policies Your example ...


50

Android 5.0 Lollipop provides this feature by default: Enable Developer mode (by tapping build number within Settings > About phone multiple times) Go to Developer Options and turn it on. Under Hardware accelerated rendering you will see option called Simulate color space, click it and set it to Monochromacy.


50

You don't need to root your device. All you need to do is run the following command on a non-rooted (or rooted) device to allow termux to access your existing directories, particularly /storage/emulated/0: termux-setup-storage this creates a new directory in termux, ~/storage, which contains simlinks to /storage/emulated/0 and can be accessed by a standard ...


50

There's the Playsearch website which allows you that without having to install anything beforehand: Playsearch website, your criteria marked (click image for larger variant) In addition to what you asked for, you even can specify how long ago the last update should be at maximum, what size the app should have, what Android version it should support, how ...


41

Google Keep is a free application that allows you to take notes, and create location or temporal reminders that will trigger the notes.


37

App developers can tell better but what I perceive is that many modern apps use Firebase Cloud Messaging - a proprietary service from Google, not part of AOSP - for push notifications. In fact developers are forced to use Google's proprietary products unnoticeably. Quoted from here: The Doze restriction on network access is also likely to affect your app, ...


36

Without root access you have 2 options. Both options (may) allow you to access the files for a particular app, e.g. the folder /data/data/com.app.packagename. If the application is debuggable you can use the run-as command in adb shell (more info about what adb is and how to install it can be found here) adb shell run-as com.your.packagename` cp /data/...


34

We don't compare apples with peaches. But it's always a good idea to be careful what you install. True, Google Play is to be considered one of the safest sources for Android apps. Still, some malware sneaks in every now and then. So you should use some common sense before hitting the "Install" button. Things to look at include (but might not be restricted ...


32

The naming convention is derived from the Java standards, and is comparable to an URL, but in reverse. The key here is that it has to be unique, that's why it's so specific. In you example, com is the main category which is comparable to a Top Level Domain, which can also be com. Next is the company name king, which can be compared to a domain name, and ...


31

Prerequisites: set up adb in a PC, connect the device to the PC, launch a shell on the PC to enter adb commands. Note: Replace UID wherever it occurs in the following commands with the UID you're searching for. The commands below would only provide the package name of the app corresponding to your UID. To get the app label/name after obtaining the package ...


31

You'll want to help the developer to help you. mbanzon's answer mentioned that the developer will receive the stack trace of the error, but that only tells us what went wrong and where. It does not tell us anything about the state the application is in: What was the value of that number, or what was the text that was entered in the text fields? And most ...


30

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 ...


29

There are two ways to support old Android versions: Build one app that makes use of compatibility patches to supports old Android versions (down to a specific version) but also support all modern Android versions. Build two or more apps each for a set of Android versions. The second option is of course very costly as you have to develop maintain each app ...


28

Possible to turn on Airplane mode with WiFi on only? Well yeah, possible in all of my devices running Android 4.2.1, 4.4.2, 5.0.2 and 5.1.1. This applies for portable hotspot too. The radios that are supposed to be turned off when Airplane mode gets enabled are saved in the key airplane_mode_radios under the table global inside /data/data/com.android....


25

Some major changes occurred to storage in Android 4.4 (see Android's Storage Journey). So the following is generally true for Android 4.4+ and particularly 6+. This is from my detailed answer to How disk space is used on Android device?. Apps' files are saved (by system and app itself) to internal and external storage under different categories. DIRECTORY ...


22

I'm not sure about the configuration setting, but I believe this is not only limited to home screen managers since you can achieve this by using 3rd-party apps. Some related keywords: Startup manager: Google Play Store Autostart: Google Play Store Autorun: Google Play Store Otherwise, you can use automation apps like Tasker: Create a Profile: Event - ...


21

It's Samsung software, built into the system in certain Samsung phones. Like the Dropbox app, it's a service to automatically upload photos you take on your phone; it connects to your "Samsung account" if you create one. It also integrates with Dropbox to sync photos to the device Gallery; if you have "Camera upload" turned on in Dropbox as well, this ...


21

Settings -> Apps -> select your app tap on menu button (3 dots) -> Uninstall for all users


20

Android apps aren't single-threaded. Although there's one main thread as described in the documentation you quoted, apps can start as many other threads as they need. The advantage of all GUI interactions being on one thread is that the GUI code can be simpler, faster, and more predictable, because GUI state isn't being changed concurrently from different ...


20

WhatsApp can't access the internet at then moment. However it still receives the configured push notifications via Google Play Services. The Google Play Service is a different app on your device that still has Internet access. Those push messages don't contain the actual message and WhatsApp just uses them as a notifier. Whenever such a push notification ...


19

Quoting from XDA (emphasis supplied) Android Instant Apps is an evolution to the way Android has done applications traditionally. Rather than downloading a full-blown application, Instant Apps allows users to “stream” apps to try it out (in reality, it’s a partial code download), without going through the hassle of downloading and installing it So, if it ...


18

This phenomenon is called audio feedback which usually occurs when the sound from the speakers reaches back into the microphone, and then gets amplified because of the speaker-mic loop. Common and general solutions are to cut off the loop, or at least reduce the loop gain by: Wearing earphone or headphone (isolate the speaker and the mic, prevent the ...


17

The Linux user IDs that Android uses to isolate apps from each other are completely unrelated to user profiles on Android 4.2 tablets. In Android, each app gets its own directory for saving data. The Linux user ID system is used to make sure apps can't read each others' data. But all these data directories are inside one directory on the filesystem, /data/...


17

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.


17

You can do this via Google Now or even via browser. Just say "Remind me to buy ice cream the next time I am at Fry's" and the next time you're at Fry's, it will remind you to get ice cream. Most of the Google Now features are available via any browser as well. Just search Google for that same statement and it will offer to "Set a reminder" above real ...


16

As it has already been said: the main difference is that disabling an app simply marks it unavailable (which can easily be reverted), while removing physically removes the app and all connected data from the device. What was still left open is: What do you gain from removing an app, that you didn't get by disabling it – so it would be worth the risk of not ...


Only top voted, non community-wiki answers of a minimum length are eligible