summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Herlant <herlantj@gmail.com>2017-10-29 19:53:22 -0700
committerJoseph Herlant <herlantj@gmail.com>2017-10-30 10:23:01 -0700
commit8f61c2e6ef98ecd0c6f4f86ccf573db77aad582c (patch)
tree977ac7b40577c54cbadfbaee91529cc950e872d5
parent25a47f07c10b294955fee4b2c7dc865f9ba40017 (diff)
downloadnavit-google_play.tar.gz
fix:ci:migrate android setup to the new sdk commandsgoogle_play
-rwxr-xr-xCMakeLists.txt2
-rwxr-xr-xToolchain/arm-eabi.cmake2
-rw-r--r--ci/build_android.sh12
-rw-r--r--ci/build_android_x86.sh14
-rw-r--r--ci/publish.sh8
-rw-r--r--ci/setup_android.sh44
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