env.sh 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!/bin/bash
  2. [ -d "$ANDROID_HOME" ] || ANDROID_HOME="$ANDROID_HOME"
  3. [ -d "$ANDROID_HOME" ] || ANDROID_HOME="$HOME/Android/Sdk"
  4. [ -d "$ANDROID_HOME" ] || ANDROID_HOME="$HOME/.local/lib/android/sdk"
  5. [ -d "$ANDROID_HOME" ] || ANDROID_HOME="$HOME/Library/Android/sdk"
  6. _NDK="$ANDROID_HOME/ndk/25.0.8775105"
  7. [ -f "$_NDK/source.properties" ] || _NDK="$NDK"
  8. [ -f "$_NDK/source.properties" ] || _NDK="$ANDROID_NDK_HOME"
  9. [ -f "$_NDK/source.properties" ] || _NDK="$ANDROID_NDK_ROOT"
  10. [ -f "$_NDK/source.properties" ] || _NDK="$ANDROID_NDK_LATEST_HOME"
  11. [ -f "$_NDK/source.properties" ] || _NDK="$ANDROID_HOME/23.2.8568313"
  12. [ -f "$_NDK/source.properties" ] || _NDK="$ANDROID_HOME/22.1.7171670"
  13. [ -f "$_NDK/source.properties" ] || _NDK="$ANDROID_HOME/21.4.7075529"
  14. [ -f "$_NDK/source.properties" ] || _NDK="$ANDROID_HOME/ndk-bundle"
  15. if [ ! -f "$_NDK/source.properties" ]; then
  16. echo "Error: NDK not found."
  17. exit 1
  18. fi
  19. export ANDROID_HOME
  20. export ANDROID_NDK_HOME=$_NDK
  21. export NDK=$_NDK
  22. if [[ "$OSTYPE" =~ ^darwin ]]; then
  23. export PROJECT=$PWD
  24. else
  25. export PROJECT=$(realpath .)
  26. fi
  27. if [ ! $(command -v go) ]; then
  28. if [ -d /usr/lib/go-1.17 ]; then
  29. export PATH="$PATH:/usr/lib/go-1.17/bin"
  30. elif [ -d $HOME/.go ]; then
  31. export PATH="$PATH:$HOME/.go/bin"
  32. fi
  33. fi
  34. if [ $(command -v go) ]; then
  35. export PATH="$PATH:$(go env GOPATH)/bin"
  36. fi
  37. export TOOLCHAIN=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin
  38. export ANDROID_ARM_CC=$TOOLCHAIN/armv7a-linux-androideabi21-clang
  39. export ANDROID_ARM_CXX=$TOOLCHAIN/armv7a-linux-androideabi21-clang++
  40. export ANDROID_ARM_CC_21=$TOOLCHAIN/armv7a-linux-androideabi21-clang
  41. export ANDROID_ARM_CXX_21=$TOOLCHAIN/armv7a-linux-androideabi21-clang++
  42. export ANDROID_ARM64_CC=$TOOLCHAIN/aarch64-linux-android21-clang
  43. export ANDROID_ARM64_CXX=$TOOLCHAIN/aarch64-linux-android21-clang++
  44. export ANDROID_ARM64_AR=$TOOLCHAIN/aarch64-linux-android21-ar
  45. export ANDROID_X86_CC=$TOOLCHAIN/i686-linux-android21-clang
  46. export ANDROID_X86_CXX=$TOOLCHAIN/i686-linux-android21-clang++
  47. export ANDROID_X86_CC_21=$TOOLCHAIN/i686-linux-android21-clang
  48. export ANDROID_X86_CXX_21=$TOOLCHAIN/i686-linux-android21-clang++
  49. export ANDROID_X86_64_CC=$TOOLCHAIN/x86_64-linux-android21-clang
  50. export ANDROID_X86_64_CXX=$TOOLCHAIN/x86_64-linux-android21-clang++
  51. export ANDROID_LD=$TOOLCHAIN/ld
  52. export ANDROID_AR=$TOOLCHAIN/llvm-ar