1
0
mirror of https://github.com/golang/go synced 2024-11-06 02:26:17 -07:00
go/misc/android
Elias Naur 3de2fb21b7 misc/android: use adb exec-out instead of adb shell to avoid buffering
According to

https://stackoverflow.com/questions/46233200/stop-buffering-of-adb-shell-output

the adb exec-out commands avoids the buffering inherent to adb shell.

Let's see if using exec-out will fix the android builder flakyness where
exitcodes or output were sometimes missing.

Updates #30512 (perhaps fixes it).

Change-Id: Ib953ef0262b20730e0d4c332058d29c5066bfeb2
Reviewed-on: https://go-review.googlesource.com/c/164661
Run-TryBot: Elias Naur <mail@eliasnaur.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-03-02 22:21:49 +00:00
..
go_android_exec.go misc/android: use adb exec-out instead of adb shell to avoid buffering 2019-03-02 22:21:49 +00:00
README misc/android,cmd/dist: move $GOROOT copying to the exec wrapper 2019-02-26 18:00:48 +00:00

Android
=======

For details on developing Go for Android, see the documentation in the
mobile subrepository:

	https://github.com/golang/mobile

To run the standard library tests, enable Cgo and use an appropriate
C compiler from the Android NDK. For example,

	CGO_ENABLED=1 \
	GOOS=android \
	GOARCH=arm64 \
	CC=$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang \
	./all.bash

To run tests on the Android device, add the bin directory to PATH so the
go tool can find the go_android_$GOARCH_exec wrapper generated by
make.bash. For example, to run the go1 benchmarks

	export PATH=$GOROOT/bin:$PATH
	cd $GOROOT/test/bench/go1/
	GOOS=android GOARCH=arm64 go test -bench=. -count=N -timeout=T