build_aar.sh 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/bin/bash -e
  2. SDK_DIR=$1
  3. echo "OpenCV Android SDK path: ${SDK_DIR}"
  4. ANDROID_HOME=${ANDROID_HOME:-${ANDROID_SDK_ROOT:-${ANDROID_SDK?Required ANDROID_HOME/ANDROID_SDK/ANDROID_SDK_ROOT}}}
  5. ANDROID_NDK=${ANDROID_NDK_HOME-${ANDROID_NDK:-${NDKROOT?Required ANDROID_NDK_HOME/ANDROID_NDK/NDKROOT}}}
  6. OPENCV_GRADLE_VERBOSE_OPTIONS=${OPENCV_GRADLE_VERBOSE_OPTIONS:-'-i'}
  7. echo "Android SDK: ${ANDROID_HOME}"
  8. echo "Android NDK: ${ANDROID_NDK}"
  9. if [ ! -d "${ANDROID_HOME}" ]; then
  10. echo "FATAL: Missing Android SDK directory"
  11. exit 1
  12. fi
  13. if [ ! -d "${ANDROID_NDK}" ]; then
  14. echo "FATAL: Missing Android NDK directory"
  15. exit 1
  16. fi
  17. export ANDROID_HOME=${ANDROID_HOME}
  18. export ANDROID_SDK=${ANDROID_HOME}
  19. export ANDROID_SDK_ROOT=${ANDROID_HOME}
  20. export ANDROID_NDK=${ANDROID_NDK}
  21. export ANDROID_NDK_HOME=${ANDROID_NDK}
  22. echo "Cloning OpenCV Android SDK ..."
  23. rm -rf "aar-build"
  24. cp -rp "${SDK_DIR}" "aar-build"
  25. echo "Cloning OpenCV Android SDK ... Done!"
  26. # drop cmake bin name and "bin" folder from path
  27. echo "ndk.dir=${ANDROID_NDK}" > "aar-build/samples/local.properties"
  28. echo "cmake.dir=$(dirname $(dirname $(which cmake)))" >> "aar-build/samples/local.properties"
  29. echo "Run gradle ..."
  30. (cd "aar-build/samples"; ./gradlew ${OPENCV_GRADLE_VERBOSE_OPTIONS} opencv:publishReleasePublicationToMyrepoRepository)
  31. mkdir "maven_repo"
  32. cp -r aar-build/sdk/build/repo/* ./maven_repo/
  33. echo "#"
  34. echo "# Done!"
  35. echo "#"