Android

Android Security and Privacy

Android security and privacy: encryption, keystore, biometrics, SSL/TLS, obfuscation, and GDPR

18 interview questionsยท
Senior
1

What's the difference between ProGuard and R8?

Answer

R8 is the successor to ProGuard, integrated directly into the Android Gradle Plugin (from version 3.4+). It combines shrinking, obfuscation, and optimization in a single step, making it faster and more efficient. R8 is backward-compatible with ProGuard rules and enabled by default for release builds.

2

What does code obfuscation do?

Answer

Code obfuscation renames classes, methods, and fields with short, meaningless names (a, b, c) to make reverse engineering significantly harder. It also helps reduce the APK size. It is configured through the proguard-rules.pro file.

3

What is the Android Keystore System?

Answer

The Android Keystore System securely stores cryptographic keys, either in hardware (TEE or Secure Element) or in a software container depending on the device. Generated keys cannot be extracted, enhancing security. It is used via KeyStore.getInstance("AndroidKeyStore") with KeyGenerator or KeyPairGenerator.

4

How to implement biometric authentication?

5

What is Certificate Pinning?

+15 interview questions

Master Android for your next interview

Access all questions, flashcards, technical tests, code review exercises and interview simulators.

Start for free