| #!/bin/bash |
| |
| # Run an Android NDK binary on the connected device. |
| # |
| # Example usage: |
| # $ cd <builddir> |
| # $ make vk-unittests |
| # $ ../rundroid vk-unittests |
| |
| if [ "$#" -lt 1 ]; then |
| echo "Usage: $0 <executable>" |
| exit 1 |
| fi |
| |
| dst_dir=/data/local/tmp |
| path="$1" |
| name="$(basename "$path")" |
| shift |
| |
| if [ -z "$ANDROID_HOME" ]; then |
| ANDROID_HOME=$HOME/Android/Sdk |
| fi |
| |
| set -e |
| set -x |
| |
| for lib in libGLESv2_swiftshader.so libEGL_swiftshader.so libvk_swiftshader.so; do |
| adb push --sync "$lib" "${dst_dir}/${lib}" |
| done |
| |
| adb push --sync "$ANDROID_HOME/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so" "${dst_dir}/libc++_shared.so" |
| |
| adb push --sync "$path" "${dst_dir}/${name}" |
| adb shell "cd \"$dst_dir\"; chmod +x \"$name\"; LD_LIBRARY_PATH=. ./$name $*" |