Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(663)

Side by Side Diff: README.ANDROID

Issue 441002: Fix 'make check' for Android (Closed) Base URL: http://google-breakpad.googlecode.com/svn/trunk/
Patch Set: Created 11 years, 7 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Makefile.in ('k') | android/common-functions.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 Google Breakpad for Android 1 Google Breakpad for Android
2 =========================== 2 ===========================
3 3
4 This document explains how to use the Google Breakpad client library 4 This document explains how to use the Google Breakpad client library
5 on Android, and later generate valid stack traces from the minidumps 5 on Android, and later generate valid stack traces from the minidumps
6 it generates. 6 it generates.
7 7
8 Note that this release only supports ARM-based Android systems. 8 Note that this release only supports ARM-based Android systems.
9 We're working on adding support for x86 and MIPS, but that might 9 We're working on adding support for x86 and MIPS, but that might
10 require an udpated NDK release. 10 require an udpated NDK release.
11 11
12 IMPORTANT: Currently, Minidump generation only works when a signal is
13 handled by Breakpad. I.e. calling WriteMinidump() directly
14 at runtime will not work.
12 15
13 I. Building the client library: 16 I. Building the client library:
14 =============================== 17 ===============================
15 18
16 The Android client is built as a static library that you can 19 The Android client is built as a static library that you can
17 link into your own Android native code. There are two ways to 20 link into your own Android native code. There are two ways to
18 build it: 21 build it:
19 22
20 I.1. Building with ndk-build: 23 I.1. Building with ndk-build:
21 ----------------------------- 24 -----------------------------
(...skipping 23 matching lines...) Expand all
45 All you need to do is configure your build with the right 'host' 48 All you need to do is configure your build with the right 'host'
46 value, and disable the processor and tools, as in: 49 value, and disable the processor and tools, as in:
47 50
48 $GOOGLE_BREAKPAD_PATH/configure --host=arm-linux-androideabi \ 51 $GOOGLE_BREAKPAD_PATH/configure --host=arm-linux-androideabi \
49 --disable-processor \ 52 --disable-processor \
50 --disable-tools 53 --disable-tools
51 make -j4 54 make -j4
52 55
53 The library will be under src/client/linux/libbreakpad_client.a 56 The library will be under src/client/linux/libbreakpad_client.a
54 57
58 You can also use 'make check' to run the test suite on a connected
59 Android device. This requires the Android 'adb' tool to be in your
60 path.
55 61
56 II. Using the client library in Android: 62 II. Using the client library in Android:
57 ======================================== 63 ========================================
58 64
59 The usage instructions are very similar to the Linux ones that are 65 The usage instructions are very similar to the Linux ones that are
60 found at http://code.google.com/p/google-breakpad/wiki/LinuxStarterGuide 66 found at http://code.google.com/p/google-breakpad/wiki/LinuxStarterGuide
61 67
62 1/ You need to include "client/linux/handler/exception_handler.h" from a C++ 68 1/ You need to include "client/linux/handler/exception_handler.h" from a C++
63 source file. 69 source file.
64 70
65 2/ If you're not using ndk-build, you also need to: 71 2/ If you're not using ndk-build, you also need to:
66 72
67 - add $GOOGLE_BREAKPAD_PATH to your compiler include path 73 - add the following to your compiler include search paths:
74 $GOOGLE_BREAKPAD_PATH/src
75 $GOOGLE_BREAKPAD_PATH/src/common/android/include
76
68 - add -llog to your linker flags 77 - add -llog to your linker flags
69 78
70 Note that ndk-build does that for your automatically. 79 Note that ndk-build does that for your automatically.
71 80
72 3/ Keep in mind that there is no /tmp directory on Android. 81 3/ Keep in mind that there is no /tmp directory on Android.
73 82
74 If you use the library from a regular Android applications, specify a 83 If you use the library from a regular Android applications, specify a
75 path under your app-specific storage directory. An alternative is to 84 path under your app-specific storage directory. An alternative is to
76 store them on the SDCard, but this requires a specific permission. 85 store them on the SDCard, but this requires a specific permission.
77 86
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 120
112 minidump_stackwalk $MINIDUMP_FILE $PROJECT_PATH/symbols 121 minidump_stackwalk $MINIDUMP_FILE $PROJECT_PATH/symbols
113 122
114 Note that various helper scripts can be found on the web to automate these 123 Note that various helper scripts can be found on the web to automate these
115 steps. 124 steps.
116 125
117 IV. Verifying the Android build library: 126 IV. Verifying the Android build library:
118 ======================================== 127 ========================================
119 128
120 If you modify Google Breakpad and want to check that it still works correctly 129 If you modify Google Breakpad and want to check that it still works correctly
121 on Android, please run the android/run-test-program.sh script which will do all 130 on Android, please run the android/run-checks.sh script which will do all
122 necessary verifications for you. This includes: 131 necessary verifications for you. This includes:
123 132
124 - Rebuilding the full host package 133 - Rebuilding the full host binaries.
125 - Rebuilding the client library with configure/make 134 - Rebuilding the full Android binaries with configure/make.
126 - Rebuilding the client library with ndk-build 135 - Rebuilding the client library unit tests, and running them on a device.
127 - Building, installing and running a test crasher program on a device 136 - Rebuilding the client library with ndk-build.
137 - Building, installing and running a test crasher program on a device.
128 - Extracting the corresponding minidump, dumping the test program symbols 138 - Extracting the corresponding minidump, dumping the test program symbols
129 and generating a stack trace. 139 and generating a stack trace.
130 - Checking the stack trace for valid source locations. 140 - Checking the generated stack trace for valid source locations.
131 141
132 For more details, please run: 142 For more details, please run:
133 143
134 android/run-test-program.sh --help-all 144 android/run-checks.sh --help-all
OLDNEW
« no previous file with comments | « Makefile.in ('k') | android/common-functions.sh » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld 1004:630ec63f810e-tainted