expo android build doctor

    2

    Diagnose and fix Expo/React Native Android build failures, Gradle errors, and environment mismatches.

    $5

    Secure checkout via Stripe

    30-day refund guarantee

    Converts to your local currency at checkout

    Security scanned

    Works with the AI tools you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+22 more

    expo android build doctor

    Example session with this skill installed

    My Expo Android build is failing with a 'manifest merger failed' error after I added a new notification library. Here is the log output.

    • Read your context and instructions
    • Compiled the expo android build
    • Generated the document

    The build failed because two libraries are competing for the android:allowBackup attribute in the merged AndroidManifest.xml.

    Root cause

    Conflicting android:allowBackup values between the core app manifest and the newly added notification library.

    Evidence

    • Error: Attribute application@allowBackup value=(false) from [com.github.library:notification-sdk:1.2.0] AndroidManifest.xml:12:9-35
    • Conflict: is also present at [project:app] AndroidManifest.xml:15:9-32 value=(true)
    • Task: :app:processDebugMainManifest

    Fix

    1. Open android/app/src/main/AndroidManifest.xml.
    2. Add the tools namespace to the <manifest> tag:
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools">
    
    1. Update the <application> tag to resolve the conflict:
    <application
        android:allowBackup="true"
        tools:replace="android:allowBackup">
    

    Verify

    Run the build command again to confirm the manifest merger completes:

    npx expo run:android
    

    If it still fails

    • Provide the output of ./gradlew :app:processDebugMainManifest --stacktrace to see the full merger report.
    • Check if other attributes like android:label or android:supportsRtl are also conflicting.

    Next steps

    • Apply the tools:replace attribute to the Manifest.
    • Re-run the Android build.
    • Verify notification permissions are correctly merged in the final APK.

    expo-android-build-doctor.pdf

    PDF · document

    Generated

    Example file from a real run - the skill writes it into your workspace.

    Connects securely to your tools. The creator never sees your data.

    What you get

    Debug Gradle and AGP version conflicts without breaking autolinking.Repair environment issues like JAVA_HOME and ANDROID_HOME pathing.Solve Kotlin and KSP version mismatches in native modules.Fix EAS Build failures by aligning local and remote toolchains.

    About this skill

    The problem

    Android builds in Expo and React Native are fragile. A single mismatched JDK version, a stale Gradle cache, or a conflicting Kotlin dependency can halt development for hours with cryptic stack traces.

    What it does

    • Identifies the root cause across environment, Gradle, Kotlin, NDK, and Manifest layers.
    • Executes targeted environment checks for Windows, macOS, and Linux to find path and SDK mismatches.
    • Analyzes app.json and Expo config plugins to fix prebuild and autolinking failures.
    • Resolves dependency conflicts, version mismatches, and manifest merge errors with minimal code changes.
    • Automates recovery using Gradle clean, Metro resets, and surgical cache clearing.

    Frameworks & tools

    Expo, React Native, Gradle, Android SDK, Kotlin, KSP, NDK, CMake, and EAS.

    Why this beats prompting it yourself

    General LLMs often suggest destructive actions like deleting the android/ folder or running broad upgrades that break other dependencies. This skill uses a tiered diagnostic workflow to find the smallest safe fix, preserving your custom native code and lockfiles.

    Use cases

    • Fixing SDK location not found or JAVA_HOME toolchain errors.
    • Resolving Kotlin version mismatches and KSP alignment issues.
    • Debugging EAS Build failures that work fine on your local machine.
    • Repairing Manifest merge conflicts caused by third-party native modules.

    Known limitations

    Cannot fix hardware-level USB connection issues or physical device failures. Requires project-level read access to config and Gradle files.

    How to install

    Works the same in every agent - Claude, Cursor, Codex, Copilot and 20+ more.

    ~30 seconds
    1. 1

      Download the ZIP

      Free skills download straight away. Paid skills unlock right after purchase.

    2. 2

      Unzip into your skills folder

      Every agent reads skills from one folder on your machine. Drop the unzipped folder in there.

    3. 3

      Ask your agent to use it

      Restart the agent if it was already running. It picks the skill up automatically - no config needed.

    Skills folder by agent

    Click the path to copy it. Create the folder if it does not exist yet.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill passes our trust checks below.

    Security scanned

    Passed our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    30-day refund

    Not a fit? Get your money back

    Trust & safety

    Security scanned

    Verified clean 12 days ago

    • Passed all security checks, Safe to install

    Needs access to

    W3

    Listed12 days ago

    What's inside

    Frequently Asked Questions