android

Build, deploy, and debug Pulp on Android devices and emulators.

13|1|Updated Apr 6, 2026
One-click install
npx skills add https://github.com/danielraffel/pulp --skill android-danielraffel
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android
Source: https://github.com/danielraffel/pulp/tree/main/.agents/skills/android
Command: npx skills add https://github.com/danielraffel/pulp --skill android-danielraffel

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Pulp's Android skill codifies the platform-specific knowledge needed to compile, deploy, and debug the Pulp application on Android devices and emulators. It removes guesswork around NDK cross-compilation, JNI bridging, GPU rendering with Dawn/Skia, and Oboe audio integration by collecting verified commands, environment checks, and hard-won runtime workarounds.

Core Features & Use Cases

  • Environment verification and guidance for SDK/NDK, adb, and emulator setup, including host-specific install hints and Android CLI guidance.
  • Cross-compilation and APK build workflows using CMake/NDK and Gradle, plus emulator deployment and adb-driven testing patterns.
  • Runtime bringup advice: JNI symbol export, Vulkan/Skia gotchas, render-thread/Looper rules, touch coordinate and density handling, audio lifecycle and Oboe integration, and emulator-specific pitfalls.
  • Use cases: iterate on the Kotlin shell and native libpulp changes, validate UI touch routing and audio on emulators, reproduce and fix platform-specific rendering or audio bugs, and prepare Android-targeting CI checks.

Quick Start

Use the android skill to verify SDK/NDK and emulator readiness, build the debug APK with Gradle, and deploy it to an attached emulator for immediate testing.

Frequently Asked Questions about android

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I cross-compile C++ code for Android using the NDK and Gradle?

Cross-compile C++ for Android by configuring CMake with the NDK toolchain and Gradle to assemble a debug APK. Verify SDK/NDK environment readiness and use adb to deploy and iterate on native library changes.

How does JNI integration work for bridging Kotlin and native Android libraries?

JNI integration bridges Kotlin and native libraries by exporting C++ symbols correctly. Handle touch coordinate routing, density, and Looper-based render threads to ensure smooth runtime interaction between the UI and native code.

What's the best way to debug Vulkan and Skia rendering issues on Android emulators?

Debug Vulkan and Skia rendering on Android emulators by applying specific runtime workarounds for Vulkan swapchain formats. Use adb-driven testing patterns and runtime logging to identify and resolve GPU bringup pitfalls.

Can I use Oboe for low-latency audio bringup during Android cross-compilation?

Yes, Oboe handles low-latency audio bringup during Android cross-compilation. Manage the audio lifecycle carefully alongside JNI integration to prevent playback issues and ensure stable sound delivery on devices and emulators.

Why does my Android emulator fail when deploying a native APK with Dawn?

Android emulator deployment fails with Dawn often due to unverified SDK/NDK environments or emulator-specific Vulkan pitfalls. Verify environment readiness, apply platform-specific swapchain workarounds, and use adb for deployment.