Labs

Reproducible
engineering
experiments

Tested environments, procedures, expected output, and the evidence you need to repeat an experiment yourself with confidence.

Verified experiments

Real systems. Real results.

Browse by category

Existing library

Continue exploring

Android system properties are a system-wide string key/value mechanism, but they are not an unrestricted global preferences store. Reads use shared property areas; writes are validated by init’s property service and SELinux policy. Modern cross-partition contracts should use generated typed Sysprop APIs.

Explore guide

Splint can still expose useful C mistakes through annotations and strict checking, but its last upstream release is from 2007. Use it for legacy compatibility or learning—not as the only security control—and pair it with current compilers, path-sensitive analyzers, sanitizers, tests, and human review.

Explore guide

Creating an Android library module is the easy click. Making its AAR safe for another app requires a deliberate API, resource and manifest hygiene, consumer shrinker rules, compatibility metadata, tests, and a distribution path that preserves dependencies.

Explore guide

A library module can depend on another module with one Gradle project dependency. The important design choice is whether the dependency remains an implementation detail or becomes part of your public API—and how that relationship survives publication.

Explore guide

A precompiled AAR can be linked directly from an app module, but the file carries no Maven dependency metadata. Here is the clean Gradle setup, plus the checks that prevent missing classes, resource conflicts, native ABI surprises, and release-only failures.

Explore guide

Engineering weekly

Useful technical knowledge, not inbox noise.

Receive verified fixes, references, labs, and tools. Confirm by email; unsubscribe any time.