mirror of
https://boringssl.googlesource.com/boringssl
synced 2026-07-21 14:43:51 +00:00
Update Android documentation and add -upload-only flag
Default to 64-bit instead of 32-bit in the documentation. Also the NDK's minimum API level is 21 nowadays. Finally add some notes on how to run the resulting binaries. I was originally going to give adb instructions (what I usually use) but that doesn't work for tests with test data, so add a -upload-only flag to the script to help package everything. Change-Id: I6fa7113679506e6f53b953df9146e7cf26b82e24 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/98449 Commit-Queue: David Benjamin <davidben@google.com> Reviewed-by: Adam Langley <agl@google.com>
This commit is contained in:
committed by
boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com
parent
50dee225e8
commit
191d9aa000
+9
-4
@@ -80,17 +80,22 @@ version r16b of the NDK.
|
||||
Unpack the Android NDK somewhere and export `ANDROID_NDK` to point to the
|
||||
directory. Then run CMake like this:
|
||||
|
||||
cmake -DANDROID_ABI=armeabi-v7a \
|
||||
-DANDROID_PLATFORM=android-19 \
|
||||
cmake -DANDROID_ABI=arm64-v8a \
|
||||
-DANDROID_PLATFORM=android-21 \
|
||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake \
|
||||
-GNinja -B build
|
||||
|
||||
Once you've run that, Ninja should produce Android-compatible binaries. You
|
||||
can replace `armeabi-v7a` in the above with `arm64-v8a` and use API level 21 or
|
||||
higher to build aarch64 binaries.
|
||||
can replace `arm64-v8a` with `armeabi-v7a` in the above to build aarch64
|
||||
binaries.
|
||||
|
||||
For other options, see the documentation in the toolchain file.
|
||||
|
||||
To run tests, you can use the `util/run_android_tests.go` script. Individual
|
||||
binaries can also be pushed to the device with `adb`, but note that some tests
|
||||
require test data. The `-upload-only` flag to `run_android_tests.go` may be
|
||||
useful.
|
||||
|
||||
To debug the resulting binaries on an Android device with `gdb`, run the
|
||||
commands below. Replace `ARCH` with the architecture of the target device, e.g.
|
||||
`arm` or `arm64`.
|
||||
|
||||
@@ -46,6 +46,7 @@ var (
|
||||
allTestsArgs = flag.String("all-tests-args", "", "Specifies space-separated arguments to pass to all_tests.go")
|
||||
runnerArgs = flag.String("runner-args", "", "Specifies space-separated arguments to pass to ssl/test/runner")
|
||||
jsonOutput = flag.String("json-output", "", "The file to output JSON results to.")
|
||||
uploadOnly = flag.Bool("upload-only", false, "Skips running the tests and only uploads the data to /data/local/tmp/boringssl/tmp on the device.")
|
||||
)
|
||||
|
||||
func enableUnitTests() bool {
|
||||
@@ -410,6 +411,11 @@ func main() {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
if *uploadOnly {
|
||||
fmt.Printf("Tests and data are now uploaded to /data/local/tmp/boringssl-tmp on the device.\n")
|
||||
return
|
||||
}
|
||||
|
||||
var unitTestExit int
|
||||
if enableUnitTests() {
|
||||
fmt.Printf("Running unit tests...\n")
|
||||
|
||||
Reference in New Issue
Block a user