test_gradle_aar.sh 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/bin/bash -e
  2. SDK_DIR=$1
  3. LOCAL_MAVEN_REPO=$2
  4. echo "OpenCV Android SDK path: ${SDK_DIR}"
  5. echo "Use local maven repo from $LOCAL_MAVEN_REPO"
  6. ANDROID_HOME=${ANDROID_HOME:-${ANDROID_SDK_ROOT:-${ANDROID_SDK?Required ANDROID_HOME/ANDROID_SDK/ANDROID_SDK_ROOT}}}
  7. ANDROID_NDK=${ANDROID_NDK_HOME-${ANDROID_NDK:-${NDKROOT?Required ANDROID_NDK_HOME/ANDROID_NDK/NDKROOT}}}
  8. OPENCV_GRADLE_VERBOSE_OPTIONS=${OPENCV_GRADLE_VERBOSE_OPTIONS:-'-i'}
  9. echo "Android SDK: ${ANDROID_HOME}"
  10. echo "Android NDK: ${ANDROID_NDK}"
  11. if [ ! -d "${ANDROID_HOME}" ]; then
  12. echo "FATAL: Missing Android SDK directory"
  13. exit 1
  14. fi
  15. if [ ! -d "${ANDROID_NDK}" ]; then
  16. echo "FATAL: Missing Android NDK directory"
  17. exit 1
  18. fi
  19. export ANDROID_HOME=${ANDROID_HOME}
  20. export ANDROID_SDK=${ANDROID_HOME}
  21. export ANDROID_SDK_ROOT=${ANDROID_HOME}
  22. export ANDROID_NDK=${ANDROID_NDK}
  23. export ANDROID_NDK_HOME=${ANDROID_NDK}
  24. echo "Cloning OpenCV Android SDK ..."
  25. rm -rf "test-gradle-aar"
  26. mkdir test-gradle-aar
  27. cp -rp ${SDK_DIR}/samples/* test-gradle-aar/
  28. echo "Cloning OpenCV Android SDK ... Done!"
  29. # drop cmake bin name and "bin" folder from path
  30. echo "ndk.dir=${ANDROID_NDK}" > "test-gradle-aar/local.properties"
  31. echo "cmake.dir=$(dirname $(dirname $(which cmake)))" >> "test-gradle-aar/local.properties"
  32. sed -i "s/opencv_source = 'sdk_path'/opencv_source = 'maven_local'/g" test-gradle-aar/settings.gradle
  33. sed -i "s+opencv_maven_path = '<path_to_maven_repo>'+opencv_maven_path = 'file\\://$LOCAL_MAVEN_REPO'+g" test-gradle-aar/settings.gradle
  34. echo "Run gradle ..."
  35. (cd "test-gradle-aar"; ./gradlew ${OPENCV_GRADLE_VERBOSE_OPTIONS} assemble)
  36. echo "#"
  37. echo "# Done!"
  38. echo "#"