I do not find any Shared Preferences. Why?

The short answer: Since no developer is forced to actually use Shared Preferences, those apps might use another way to store their settings. You might also want to check out other files like databases et cetera.

What are Android Shared Preferences anyway?

Shared Preferences are the most common way for Android apps to safely and persistently store some simple data like numbers, texts, dates. This might be for example some analytical usage data like when you started the app the last time. Or how often you started it already.

Or (if you are lucky) in games it might be your highscore, or some other amount of points or game currency. Or (if you are unlucky) in apps for which you have to use an account, it might be your username and password without any encryption attached to it. Which is, of course, very unsafe, but some developers do not know any better.

What other methods for persisting data on Android are there?

The second most common method that the Android framework provides is to store data inside sqlite databases. Now while Shared Preferences are used to store just simple variables, sqlite databases are intended for a different use case. Databases are usually a good way to store recurring data for some specific model. A simple example would be the WhatsApp chat log: Every message you receive or send on WhatsApp gets stored as one entry inside a database. So does this mean that Cheat Droid can be used to fake WhatsApp chat records? Yes, it does mean exactly that.

As a developer, how do I protect my app against apps like Cheat Droid?

This is fairly simple: Encrypt the important data you are about to store! You can still use Shared Preferences, but you should use encryption methods. In order to do so, you can either use the javax.crypto classes and implement your own Shared Preferences wrapper, or you can just use a library like secure-preferences, which basically does just that and should do the job alright, given the fact that they specifically mentioned us as an example of why developers should consider using this library. 😉