Skip to content
Bobby Galli edited this page Feb 24, 2025 · 8 revisions

Welcome to the crashpad wiki!

Android

  1. Install Android-NDK 27 via the SDK Manager in Android Studio
  2. Install curl with Homebrew, see relevant Chrashpad-dev comment.
  3. Generate a new config that statically links libstdc++ and uses libcurl for networking
gn gen out/arm64-v8a --args='target_os="android" target_cpu="arm64" android_ndk_root="[Path to Android SDK]/ndk/27.2.12479018" android_api_level=21 extra_cflags="-I/opt/homebrew/Cellar/curl/8.12.1/include" extra_ldflags="-static-libstdc++" crashpad_http_transport_impl="libcurl"'
  1. Run the build
ninja -C out/arm64-v8a
  1. You'll see a build error.
/bin/sh: /Users/bobby/Library/Android/sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ar: No such file or directory
  1. In the specified folder, fix the error by copying llvm-ar to arm-linux-androideabi-ar (or whatever the missing file name is)
cd /Users/bobby/Library/Android/sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/darwin-x86_64/bin 
cp llvm-ar arm-linux-androideabi-ar
  1. Re-run the build
  2. Find copies of libcurl.so for each supported Android ABI (TODO BG link)
  3. Copy libclient.a, libcommon.a, libbase.a, libutil.a, libcrashpad_handler.so, libcurl.so and all Include files to bugsplat-android

LLM Chats

how-to-build-crashpad-android-1.pdf

how-to-build-crashpad-android-2.pdf

how-to-build-crashpad-android-3.pdf

Clone this wiki locally