diff options
author | Joseph Herlant <herlantj@gmail.com> | 2017-10-29 19:53:22 -0700 |
---|---|---|
committer | Joseph Herlant <herlantj@gmail.com> | 2017-10-30 10:23:01 -0700 |
commit | 8f61c2e6ef98ecd0c6f4f86ccf573db77aad582c (patch) | |
tree | 977ac7b40577c54cbadfbaee91529cc950e872d5 | |
parent | 25a47f07c10b294955fee4b2c7dc865f9ba40017 (diff) | |
download | navit-google_play.tar.gz |
fix:ci:migrate android setup to the new sdk commandsgoogle_play
-rwxr-xr-x | CMakeLists.txt | 2 | ||||
-rwxr-xr-x | Toolchain/arm-eabi.cmake | 2 | ||||
-rw-r--r-- | ci/build_android.sh | 12 | ||||
-rw-r--r-- | ci/build_android_x86.sh | 14 | ||||
-rw-r--r-- | ci/publish.sh | 8 | ||||
-rw-r--r-- | ci/setup_android.sh | 44 |
6 files changed, 37 insertions, 45 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index d3d764d36..4f5d05e4a 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -688,7 +688,7 @@ if (HAS_IFADDRS) endif(HAS_IFADDRS) if(ANDROID) - find_program(ANDROID_LOCATION NAMES android android.bat) + find_program(ANDROID_LOCATION NAMES sdkmanager avdmanager) find_program(ANT_LOCATION NAMES ant) if (NOT ANT_LOCATION) message_error("Could not find ant. Please install ant and add it to the search path.") diff --git a/Toolchain/arm-eabi.cmake b/Toolchain/arm-eabi.cmake index 5aec27692..98b7fe4c1 100755 --- a/Toolchain/arm-eabi.cmake +++ b/Toolchain/arm-eabi.cmake @@ -19,7 +19,7 @@ set(CMAKE_FIND_ROOT_PATH ${NDK_ARCH_DIR}) set(CMAKE_REQUIRED_FLAGS "-ldl --sysroot=${NDK_ARCH_DIR} ${EXTRA_COMPILER_FLAGS}") set(CMAKE_REQUIRED_INCLUDES "${NDK_ARCH_DIR}/usr/include") -set(NAVIT_COMPILE_FLAGS "-I${NDK_ARCH_DIR}/usr/include -g -D_GNU_SOURCE -DANDROID -fno-short-enums ${CMAKE_REQUIRED_FLAGS}") +set(NAVIT_COMPILE_FLAGS "-I/usr/include -I/usr/include/x86_64-linux-gnu -I${NDK_ARCH_DIR}/usr/include -g -D_GNU_SOURCE -DANDROID -fno-short-enums ${CMAKE_REQUIRED_FLAGS}") set(CMAKE_SHARED_LINKER_FLAGS_INIT "${CMAKE_REQUIRED_FLAGS} -Wl,--no-undefined -Wl,-rpath,/system/lib") set(CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_REQUIRED_FLAGS} -Wl,--no-undefined") diff --git a/ci/build_android.sh b/ci/build_android.sh index ad42c78c2..332ac7ba8 100644 --- a/ci/build_android.sh +++ b/ci/build_android.sh @@ -9,14 +9,14 @@ export SOURCE_PATH=$START_PATH"/"${CIRCLE_PROJECT_REPONAME}"/" export CMAKE_FILE=$SOURCE_PATH"/Toolchain/arm-eabi.cmake" export ANDROID_NDK=~/android-ndk-r11c export ANDROID_NDK_BIN=$ANDROID_NDK"/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin" -export ANDROID_SDK="/usr/local/android-sdk-linux/" +export ANDROID_SDK=/opt/android-sdk-linux +export ANDROID_HOME=/opt/android-sdk-linux +export ANDROID_SDK_HOME=/opt/android-sdk-linux +export ANDROID_SDK_ROOT=/opt/android-sdk-linux export ANDROID_SDK_PLATFORM_TOOLS=$ANDROID_SDK"/platform-tools" -export PATH=$ANDROID_NDK_BIN:$ANDROID_SDK_PLATFORM_TOOLS:$PATH export BUILD_PATH=android-${ARCH} -export ANDROID_SDK_HOME=/opt/android-sdk-linux -export ANDROID_HOME=/opt/android-sdk-linux -export PATH=${PATH}:${ANDROID_SDK_HOME}/tools:${ANDROID_SDK_HOME}/platform-tools:/opt/tools +export PATH=${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/tools:${PATH} wget -nv -c http://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip [ -d ~/android-ndk-r11c ] || unzip -q -d ~ android-ndk-r11c-linux-x86_64.zip @@ -24,8 +24,6 @@ wget -nv -c http://dl.google.com/android/repository/android-ndk-r11c-linux-x86_6 [ -d $BUILD_PATH ] || mkdir -p $BUILD_PATH pushd $BUILD_PATH -android list targets - cmake -DCMAKE_TOOLCHAIN_FILE=../Toolchain/arm-eabi.cmake -DCACHE_SIZE='(20*1024*1024)' -DAVOID_FLOAT=1 -DSAMPLE_MAP=n -DBUILD_MAPTOOL=n -DANDROID_API_VERSION=25 -DANDROID_NDK_API_VERSION=19 ../ make -j $(nproc --all) diff --git a/ci/build_android_x86.sh b/ci/build_android_x86.sh index 6e84bc4e1..51f12bdc3 100644 --- a/ci/build_android_x86.sh +++ b/ci/build_android_x86.sh @@ -9,15 +9,13 @@ export SOURCE_PATH=$START_PATH"/"${CIRCLE_PROJECT_REPONAME}"/" export CMAKE_FILE=$SOURCE_PATH"/Toolchain/i686-android.cmake" export ANDROID_NDK=~/android-ndk-r11c export ANDROID_NDK_BIN=$ANDROID_NDK"/toolchains/x86-4.9/prebuilt/linux-x86_64/bin" -export ANDROID_SDK="/usr/local/android-sdk-linux/" -export ANDROID_SDK_PLATFORM_TOOLS=$ANDROID_SDK"/platform-tools" -export PATH=$ANDROID_NDK_BIN:$ANDROID_SDK_PLATFORM_TOOLS:$PATH -export BUILD_PATH=android-${ARCH} - -export ANDROID_SDK_HOME=/opt/android-sdk-linux +export ANDROID_SDK=/opt/android-sdk-linux export ANDROID_HOME=/opt/android-sdk-linux -export PATH=${PATH}:${ANDROID_SDK_HOME}/tools:${ANDROID_SDK_HOME}/platform-tools:/opt/tools +export ANDROID_SDK_HOME=/opt/android-sdk-linux +export ANDROID_SDK_ROOT=/opt/android-sdk-linux +export BUILD_PATH=android-${ARCH} +export PATH=${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/tools:${PATH} wget -nv -c http://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip [ -d ~/android-ndk-r11c ] || unzip -q -d ~ android-ndk-r11c-linux-x86_64.zip @@ -25,8 +23,6 @@ wget -nv -c http://dl.google.com/android/repository/android-ndk-r11c-linux-x86_6 [ -d $BUILD_PATH ] || mkdir -p $BUILD_PATH pushd $BUILD_PATH -android list targets - cmake -DCMAKE_TOOLCHAIN_FILE=../Toolchain/i686-android.cmake -DAVOID_FLOAT=1 -DSAMPLE_MAP=n -DBUILD_MAPTOOL=n -DANDROID_API_VERSION=25 -DANDROID_NDK_API_VERSION=19 -DDISABLE_CXX=1 -DDISABLE_QT=1 .. make -j $(nproc --all) diff --git a/ci/publish.sh b/ci/publish.sh index a92f620b8..1d01d02fc 100644 --- a/ci/publish.sh +++ b/ci/publish.sh @@ -11,7 +11,9 @@ pip install google-api-python-client jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -storepass $SP $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-${ARCH}-release-unsigned.apk $key_name -/usr/local/android-sdk-linux/build-tools/25.0.1/zipalign 4 $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-${ARCH}-release-unsigned.apk $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-${ARCH}-release-signed.apk -# /usr/local/android-sdk-linux/build-tools/25.0.1/apksigner sign -v --ks-pass pass:$SP --key $key_name $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-${ARCH}-release-signed.apk -/usr/local/android-sdk-linux/build-tools/25.0.1/apksigner verify -v $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-${ARCH}-release-signed.apk +export ANDROID_SDK_ROOT=/opt/android-sdk-linux + +${ANDROID_SDK_ROOT}/build-tools/25.0.1/zipalign 4 $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-${ARCH}-release-unsigned.apk $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-${ARCH}-release-signed.apk +# ${ANDROID_SDK_ROOT}/build-tools/25.0.1/apksigner sign -v --ks-pass pass:$SP --key $key_name $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-${ARCH}-release-signed.apk +${ANDROID_SDK_ROOT}/build-tools/25.0.1/apksigner verify -v $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-${ARCH}-release-signed.apk python ~/navit/ci/basic_upload_apks.py org.navitproject.navit $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-${ARCH}-release-signed.apk diff --git a/ci/setup_android.sh b/ci/setup_android.sh index 64e250635..829cea925 100644 --- a/ci/setup_android.sh +++ b/ci/setup_android.sh @@ -1,34 +1,30 @@ apt-get update && apt-get install -y software-properties-common add-apt-repository -y ppa:openjdk-r/ppa -apt-get update && apt-get install -y openjdk-8-jdk wget expect git curl libsaxonb-java ant +apt-get update && apt-get install -y openjdk-8-jdk wget expect git libsaxonb-java ant unzip libc6-dev apt-get remove -y openjdk-7-jre-headless -export ANDROID_SDK_HOME=/opt/android-sdk-linux export ANDROID_HOME=/opt/android-sdk-linux +export ANDROID_SDK_HOME=/opt/android-sdk-linux +export ANDROID_SDK_ROOT=/opt/android-sdk-linux -cd /opt && wget -q https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz -O android-sdk.tgz -cd /opt && tar -xvzf android-sdk.tgz -cd /opt && rm -f android-sdk.tgz - -export PATH=${PATH}:${ANDROID_SDK_HOME}/tools:${ANDROID_SDK_HOME}/platform-tools:/opt/tools +cd /opt +wget -q https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip -O android-sdk.zip +unzip android-sdk.zip -d ${ANDROID_HOME}/ && rm -f android-sdk.zip -echo y | android update sdk --no-ui --all --filter platform-tools | grep 'package installed' -#RUN echo y | android update sdk --no-ui --all --filter extra-android-support | grep 'package installed' +export PATH=${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/tools:${PATH} -echo y | android update sdk --no-ui --all --filter android-25 | grep 'package installed' -echo y | android update sdk --no-ui --all --filter android-24 | grep 'package installed' -echo y | android update sdk --no-ui --all --filter android-23 | grep 'package installed' -echo y | android update sdk --no-ui --all --filter android-18 | grep 'package installed' -echo y | android update sdk --no-ui --all --filter android-16 | grep 'package installed' +mkdir -p ${ANDROID_HOME}/.android +touch ${ANDROID_HOME}/.android/repositories.cfg +echo "y" | sdkmanager --update +echo "y" | sdkmanager "platform-tools" -echo y | android update sdk --no-ui --all --filter build-tools-25.0.3 | grep 'package installed' -echo y | android update sdk --no-ui --all --filter build-tools-25.0.2 | grep 'package installed' -echo y | android update sdk --no-ui --all --filter build-tools-25.0.1 | grep 'package installed' -echo y | android update sdk --no-ui --all --filter build-tools-25.0.0 | grep 'package installed' -echo y | android update sdk --no-ui --all --filter build-tools-24.0.3 | grep 'package installed' -echo y | android update sdk --no-ui --all --filter build-tools-24.0.2 | grep 'package installed' -echo y | android update sdk --no-ui --all --filter build-tools-24.0.1 | grep 'package installed' -echo y | android update sdk --no-ui --all --filter build-tools-23.0.3 | grep 'package installed' -echo y | android update sdk --no-ui --all --filter build-tools-23.0.2 | grep 'package installed' -echo y | android update sdk --no-ui --all --filter build-tools-23.0.1 | grep 'package installed' +for ANDROID_VERSION in 25 24 23 18 16 +do + echo "y" | sdkmanager "system-images;android-${ANDROID_VERSION};google_apis;armeabi-v7a" + echo "y" | sdkmanager "system-images;android-${ANDROID_VERSION};google_apis;x86" +done +for ANDROID_VERSION in 25.0.3 25.0.2 25.0.1 25.0.0 24.0.3 24.0.2 24.0.1 23.0.3 23.0.2 23.0.1 +do + echo "y" | sdkmanager "build-tools;${ANDROID_VERSION}" +done |