From 70294db6e9c49410cc05d135a486b738ae7c30d7 Mon Sep 17 00:00:00 2001 From: talregev Date: Wed, 18 Mar 2020 18:44:45 +0200 Subject: [PATCH] Update android script - Update for new ros2 repo. - Update new google platform tool link. - Update checks for sdk and ndk and java. - Update variables. --- ci-scripts/build_android.sh | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/ci-scripts/build_android.sh b/ci-scripts/build_android.sh index 5b8b0c02..c021e586 100644 --- a/ci-scripts/build_android.sh +++ b/ci-scripts/build_android.sh @@ -1,16 +1,17 @@ #!/bin/sh set -e -ANDROID_NDK_VERSION=android-ndk-r17b +ANDROID_NDK_VERSION=android-ndk-r21 # tools_r26.0.2 -ANDROID_SDK_VERSION=3859397 +ANDROID_SDK_VERSION=6200805 ANDROID_TARGET=android-21 ANDROID_ABI=armeabi-v7a ANDROID_NDK=/opt/android/${ANDROID_NDK_VERSION}/ +ANDROID_SDK=/opt/android/android-sdk-linux/ ROS2_CURDIR=${PWD} -ROS2_JAVA_DIR=${ROS2_JAVA_DIR:-${ROS2_CURDIR}} +ROS2_JAVA_DIR=${ROS2_CURDIR} ROS2_OUTPUT_DIR=${ROS2_JAVA_DIR}/output AMENT_WS=${ROS2_JAVA_DIR}/ament_ws ROS2_ANDROID_WS=${ROS2_JAVA_DIR}/ros2_android_ws @@ -18,27 +19,30 @@ AMENT_BUILD_DIR=${ROS2_OUTPUT_DIR}/build_isolated_ament AMENT_INSTALL_DIR=${ROS2_OUTPUT_DIR}/install_isolated_ament ROS2_ANDROID_BUILD_DIR=${ROS2_OUTPUT_DIR}/build_isolated_android ROS2_ANDROID_INSTALL_DIR=${ROS2_OUTPUT_DIR}/install_isolated_android -#TOOLCHAIN_FILE=/opt/android/android-ndk-r13b/build/cmake/android.toolchain.cmake -ANDROID_NDK=/opt/android/${ANDROID_NDK_VERSION} TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake ANDROID_STL=c++_shared # ANDROID_STL=gnustl_shared ANDROID_TARGET=android-21 ANDROID_ABI=armeabi-v7a +ROS2_JAVA_BRANCH=dashing mkdir -p ${ROS2_JAVA_DIR} mkdir -p ${AMENT_WS}/src mkdir -p ${ROS2_ANDROID_WS}/src -if [ -n "${ROS2_JAVA_CI}" ]; then +if [ -d "${ANDROID_NDK}" ]; then + if [ -z `which java` ]; then + sudo apt install default-jdk + fi wget -O /tmp/android-ndk.zip https://dl.google.com/android/repository/${ANDROID_NDK_VERSION}-linux-x86_64.zip && mkdir -p /opt/android/ && cd /opt/android/ && unzip -q /tmp/android-ndk.zip && rm /tmp/android-ndk.zip - wget -O /tmp/android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_VERSION}.zip && mkdir -p /opt/android/android-sdk-linux && cd /opt/android/android-sdk-linux && unzip -q /tmp/android-sdk.zip && rm /tmp/android-sdk.zip + wget -O /tmp/android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_VERSION}_latest.zip && mkdir -p /opt/android/android-sdk-linux && cd /opt/android/android-sdk-linux && unzip -q /tmp/android-sdk.zip && rm /tmp/android-sdk.zip + ANDROID_HOME=/opt/android/android-sdk-linux # Accept licenses - yes | ${ANDROID_SDK}/tools/bin/sdkmanager --licenses + yes | ${ANDROID_SDK}/tools/bin/sdkmanager --sdk_root=${ANDROID_HOME} --licenses # Install platform tools - yes | ${ANDROID_SDK}/tools/bin/sdkmanager --verbose "platforms;${ANDROID_TARGET}" + ${ANDROID_SDK}/tools/bin/sdkmanager --sdk_root=${ANDROID_HOME} "platform-tools" "platforms;${ANDROID_TARGET}" # Disable emulator for now # yes | ${ANDROID_SDK}/tools/bin/sdkmanager --verbose "emulator" @@ -52,20 +56,12 @@ if [ -z "$ROS2_JAVA_SKIP_FETCH" ]; then echo "branch: $ROS2_JAVA_BRANCH" cd $AMENT_WS - wget https://raw.githubusercontent.com/esteve/ament_java/$ROS2_JAVA_BRANCH/ament_java.repos || wget https://raw.githubusercontent.com/esteve/ament_java/master/ament_java.repos + wget https://raw.githubusercontent.com/ros2-java/ament_java/$ROS2_JAVA_BRANCH/ament_java.repos || wget https://raw.githubusercontent.com/ros2-java/ament_java/master/ament_java.repos vcs import $AMENT_WS/src < ament_java.repos - cd src/ament_java - vcs custom --git --args checkout $ROS2_JAVA_BRANCH || true - cd $AMENT_WS - vcs export --exact cd $ROS2_ANDROID_WS - wget https://raw.githubusercontent.com/esteve/ros2_java/$ROS2_JAVA_BRANCH/ros2_java_android.repos || wget https://raw.githubusercontent.com/esteve/ros2_java/master/ros2_java_android.repos + wget https://raw.githubusercontent.com/ros2-java/ros2_java/$ROS2_JAVA_BRANCH/ros2_java_android.repos || wget https://raw.githubusercontent.com/ros2-java/ros2_java/master/ros2_java_android.repos vcs import $ROS2_ANDROID_WS/src < ros2_java_android.repos || true - cd src/ros2_java - vcs custom --git --args checkout $ROS2_JAVA_BRANCH || true - cd $ROS2_ANDROID_WS - vcs export --exact cd $ROS2_ANDROID_WS/src/ros2/rosidl test -e $ROS2_ANDROID_WS/src/ros2/rmw_fastrtps/rmw_fastrtps_c/package.xml && touch rosidl_generator_cpp/AMENT_IGNORE