> **feature-flags-android** — chapter 182 of 200 in [PostHog/skills](https://skillsdocs.com/PostHog/skills).
>
> Book (all chapters, one file): https://skillsdocs.com/PostHog/skills.md
> Machine manifest: https://skillsdocs.com/PostHog/skills/.well-known/agent-skills/index.json
> Install the book: `npx skills add PostHog/skills`
> Upstream: https://github.com/PostHog/skills/blob/main/skills/posthog/feature-flags/skills/android/SKILL.md @ `main`
> Raw bytes, no header: https://raw.githubusercontent.com/PostHog/skills/main/skills/posthog/feature-flags/skills/android/SKILL.md
> Base for relative paths: https://raw.githubusercontent.com/PostHog/skills/main/skills/posthog/feature-flags/skills/android/
> Licence: MIT — https://spdx.org/licenses/MIT.html
>
> Bundled files (3), referenced from this skill's directory:
>   - `references/adding-feature-flag-code.md` — https://raw.githubusercontent.com/PostHog/skills/main/skills/posthog/feature-flags/skills/android/references/adding-feature-flag-code.md
>   - `references/android.md` — https://raw.githubusercontent.com/PostHog/skills/main/skills/posthog/feature-flags/skills/android/references/android.md
>   - `references/best-practices.md` — https://raw.githubusercontent.com/PostHog/skills/main/skills/posthog/feature-flags/skills/android/references/best-practices.md
>
> Content © its authors, served unmodified. Takedown: https://github.com/kyleledbetter/skillsdocs/issues/new?labels=takedown&title=Takedown+request

<!-- Verbatim upstream SKILL.md follows, YAML frontmatter included. -->

---
name: feature-flags-android
description: PostHog feature flags for Android applications
metadata:
  author: PostHog
  version: 1.9.4
---

# PostHog feature flags for Android

This skill helps you add PostHog feature flags to Android applications.

## Reference files

- `references/android.md` - Android feature flags installation - docs
- `references/adding-feature-flag-code.md` - Adding feature flag code - docs
- `references/best-practices.md` - Feature flag best practices - docs

Consult the documentation for API details and framework-specific patterns.

## Key principles

- **Environment variables**: Always use environment variables for PostHog keys. Never hardcode them.
- **Minimal changes**: Add feature flag code alongside existing logic. Don't replace or restructure existing code.
- **Boolean flags first**: Default to boolean flag checks unless the user specifically asks for multivariate flags.
- **Server-side when possible**: Prefer server-side flag evaluation to avoid UI flicker.

## PostHog MCP tools

Check if a PostHog MCP server is connected. If available, look for tools related to feature flag management (creating, listing, updating, deleting flags). Use these tools to manage flags directly in PostHog rather than requiring the user to do it manually in the dashboard.

## Framework guidelines

- Adapt dependency configuration to the appropriate build.gradle(.kts) file according to the project gradle version
- Call `PostHogAndroid.setup()` only once in the Application class's `onCreate()` method, so it's initialized as early as possible and only once.
- Initialize PostHog in the Application class's `onCreate()` method
- Ensure every activity has a `android:label` to accurately track screen views.
