
OWASP Dependency-Check with Gradle: Triage Matches, Not Just Scores
OWASP Dependency-Check identifies potential known-vulnerability matches in dependencies.
APKLint / Engineering notebook
Practical guides to Android packages, signing, security and release decisions. Start with the problem, inspect the evidence, and follow the relevant tool or official reference.
Showing 121–144 of 262 guides · Page 6 of 11.

OWASP Dependency-Check identifies potential known-vulnerability matches in dependencies.

Android Lint is a build-aware analysis tool, not just the warning underline in the editor.

Android static code analysis works best as a set of complementary checks.

A Java code review for Android should prioritize ownership, lifecycle and failure behavior before style.

Useful Kotlin design patterns on Android make state, ownership and errors easier to understand.

R8 is the optimizer used by modern Android builds; ProGuard is a separate Java bytecode shrinker and obfuscator.

minifyEnabled enables code shrinking, optimization and obfuscation for an Android build type.

shrinkResources removes resources that the Android optimizer determines are unused.

Android app obfuscation makes packaged code harder to read by renaming and transforming it.

ProGuard is a Java bytecode shrinker, optimizer and obfuscator.

A good R8 keep rule preserves the contract that static analysis cannot see without disabling optimization for an entire application.

An R8 missing-class error means the optimizer encountered a reference whose definition was not available in the analyzed inputs.

Retrace needs the mapping file from the exact optimized release that produced the crash.

A dependency conflict occurs when the graph requests incompatible or different versions of a module.

A duplicate-class error means two packaged inputs define the same class.

Dependency locking records resolved module versions so a later build does not silently select a different compatible or dynamic version.

Gradle dependency verification checks downloaded artifacts against trusted checksums or signatures.

Gradle's configuration cache reuses the configured task graph between compatible invocations.

Firebase setup starts with the Android application's actual package identity, not the project folder name.

On 22 September 2026, Firebase's Android release notes list BoM 34.19.0 , released on 9 September 2026.

Google Sign-In can work in a debug build and fail after Google Play installation because the package is signed by a different certificate.

Crashlytics setup is complete only when a controlled crash from the intended build reaches the correct Firebase app with readable information.

com.google.firebase:firebase-crashlytics is the Android runtime library. The Crashlytics Gradle plugin is a build-time integration.

Firebase DebugView is useful for checking development analytics events quickly.
Guides are dated references, not a live view of your app or Console. Verify changing policy and SDK details before release.
APKLint is independent and is not affiliated with Google, Android or the other projects discussed.