-
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Bobby Galli edited this page Feb 24, 2025
·
8 revisions
Welcome to the crashpad wiki!
- Install Android-NDK 27 via the SDK Manager in Android Studio
- Install curl with Homebrew, see relevant Chrashpad-dev comment.
- 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"'
- Run the build
ninja -C out/arm64-v8a
- 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
- In the specified folder, fix the error by copying
llvm-ar
toarm-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
- Re-run the build
- Find copies of libcurl.so for each supported Android ABI (TODO BG link)
- Copy
libclient.a
,libcommon.a
,libbase.a
,libutil.a
,libcrashpad_handler.so
,libcurl.so
and all Include files to bugsplat-android
how-to-build-crashpad-android-1.pdf