Skip to main content

Engineering Support · Technical Troubleshooting Companion

Whenever engineers ask Hana for help—whether in a direct chat or space—she can pull memory context, summarize the fix, and post it back so every stakeholder knows what’s happening without searching docs.

Shareable AI Diagnoses

Keep your debugging prompts and Hana’s answers inside a report group to give product, infra, and leadership teams the same visibility into AI-assisted troubleshooting.

Workflow Snapshot

  1. Capture logs, screenshots, and previous fixes as general memories.
  2. Ask Hana in the relevant chat thread (DM or space), e.g., @Hana what could be a reason? after pasting the latest error.
  3. Hana replies with an executive-ready TL;DR plus detailed steps, citing known resources so you can act immediately.

Example Output

Invocation 1: "your avd is terminated" error when launching this avd. @Hana what could be a reason?

Hana’s response:

TLDR: The "Your AVD is terminated" error often stems from resource shortages, Hyper-V conflicts, or corrupted setups in Android Studio—try freeing up RAM, disabling Hyper-V, or recreating the AVD to fix it quickly.

Hey <users/102606422926865728187>, sorry to hear you're hitting that "Your AVD is terminated" error when trying to launch your Android 7 emulator. This is a pretty common issue in Android Studio, especially on Windows setups like yours (based on the screenshot). It basically means the emulator process crashed right after starting, and there are a few usual suspects. I'll break down the likely reasons and some fixes—let's get this sorted step by step.

Possible Reasons

  • Resource constraints: Not enough RAM/CPU/disk available.
  • Hyper-V or virtualization conflicts: Hyper-V, Windows Hypervisor Platform, or other VM tools clashing with Intel HAXM.
  • Corrupted/outdated components: Broken Android 7 system image or stale Studio/Emulator builds.
  • Graphics/config mismatches: Unsupported GPU settings or over-provisioned RAM.
  • Antivirus/firewall interference and Windows update quirks for older Android versions.

How to Fix It

  1. Free up RAM/CPU, close heavy apps.
  2. Restart Android Studio and Windows.
  3. Disable Hyper-V via bcdedit /set hypervisorlaunchtype off, reboot.
  4. Adjust AVD RAM to ~2 GB, switch graphics to Software, reinstall Android 7 image.
  5. Update Android Studio, Emulator, SDK tools, and GPU drivers.
  6. Recreate the AVD from scratch.
  7. Run emulator -avd Your_AVD_Name -verbose for clues.
  8. Temporarily disable antivirus/firewall to test.

Sources: Google Issue Tracker, Android Emulator troubleshooting docs, and Stack Overflow threads on termination errors.

Invocation 2: @Hana which system image do i neeed install for android 7 (with _64 or without ) ?

Hana’s response:

TLDR: For Android 7 emulation, go with the x86_64 system image on a 64-bit host—it gives better compatibility and performance while still letting you test modern Play Store requirements.

Hey <users/102606422926865728187>, based on your Android Studio Device Manager screenshot, you're configuring an Android 7 (API 24) virtual device. The Google APIs Intel x86_64 Atom image you highlighted is the 64-bit variant, and that's the recommended one for most modern PCs. Here's the breakdown:

  • x86_64 (64-bit): Supports 64-bit apps/libraries, aligns with Play Store policies, and runs faster under hardware acceleration (Intel HAXM/Hyper-V) on 64-bit hosts.
  • x86 (32-bit): Works for legacy 32-bit-only testing or constrained machines but skips newer 64-bit capabilities.

If your workstation is 64-bit (nearly all are), install the x86_64 image for future-proofing. Use the 32-bit image only when you must emulate legacy scenarios.

Sources: Android GSI docs, Microsoft emulator acceleration guidance, and official Android Emulator documentation.

Invocation 3: @Hana what is the issue ?

Hana’s response:

TLDR: The build is failing due to a minSdkVersion conflict—your app is set to 24 (Android 7), but the @stripe/stripe-terminal-react-native library requires at least 26 (Android 8), causing a manifest merger error during the Gradle build.

Hey <users/102606422926865728187>, the Gradle log shows the manifest merger stopping because your android/app/build.gradle uses minSdkVersion 24, while Stripe’s React Native Terminal SDK declares minSdkVersion 26. Android Studio blocks the build so you don’t ship binaries that could crash on devices missing those APIs.

Quick Fixes

  1. Bump minSdkVersion to 26+ in android/app/build.gradle, then cd android && ./gradlew clean followed by npx react-native run-android.
  2. Only if you must stay on API 24: add tools:overrideLibrary="com.stripeterminalreactnative" in AndroidManifest.xml, but expect potential runtime crashes if Stripe calls newer APIs.
  3. Other checks: ensure compileSdkVersion/targetSdkVersion are current, consider downgrading the Stripe SDK only if an older release supports API 24, and run npx react-native doctor for environment issues.

Since Stripe Terminal relies on Android 8+ features for stable USB/Bluetooth handling (remember the kiosk POS disconnection notes in Hana’s memories), raising your min SDK—and using an Android 8 emulator—keeps the build aligned with their requirements.

Sources: Android manifest merge docs, Stripe Terminal React Native requirements, Stack Overflow minSdk conflict fixes, and the internal Stripe POS troubleshooting memory.

Why This Matters

  • Transparency: Everyone sees the same AI-generated diagnosis without needing a separate status update.
  • Faster fixes: Hana stitches together solutions from prior memories plus public sources in seconds.
  • Reusable knowledge: Each response lives in the report group archive, so future incidents can reference it instantly.

Extend The Series

  • Add other troubleshooting transcripts (network issues, build failures, etc.) to build a searchable knowledge trail.
  • Pair with report group automations so Hana summarizes long debugging threads into daily digests automatically.