1
1
#! /bin/bash -ex
2
2
#
3
- # Copyright (C) 2020-2021 HERE Europe B.V.
3
+ # Copyright (C) 2020-2024 HERE Europe B.V.
4
4
#
5
5
# Licensed under the Apache License, Version 2.0 (the "License");
6
6
# you may not use this file except in compliance with the License.
17
17
# SPDX-License-Identifier: Apache-2.0
18
18
# License-Filename: LICENSE
19
19
20
+ ${ANDROID_SDK_ROOT} /cmdline-tools/latest/bin/sdkmanager --list
21
+ ${ANDROID_SDK_ROOT} /cmdline-tools/latest/bin/sdkmanager --install " ndk;22.1.7171670" --sdk_root=${ANDROID_HOME} > /dev/null
22
+ ${ANDROID_SDK_ROOT} /cmdline-tools/latest/bin/sdkmanager --install " platforms;android-21"
23
+ ${ANDROID_SDK_ROOT} /cmdline-tools/latest/bin/sdkmanager --install " platform-tools"
24
+ ${ANDROID_SDK_ROOT} /cmdline-tools/latest/bin/sdkmanager --install " ndk-bundle"
25
+ ${ANDROID_SDK_ROOT} /cmdline-tools/latest/bin/sdkmanager --list
26
+
20
27
#
21
- # API and ABI are hardcoded there
28
+ # API / ABI / NDK are hardcoded below
22
29
#
23
- # Android Only Variables
30
+ # Variables
24
31
export ANDROID_ABI=" x86_64"
25
32
export ANDROID_API=21
26
-
27
- export NDK_ROOT=$ANDROID_HOME /ndk-bundle # This var is not exist on Azure MacOS image, step can be skipped on GitLab
33
+ export ANDROID_NDK_ROOT=" /usr/local/lib/android/sdk/ndk/22.1.7171670"
34
+ export ANDROID_NDK=" /usr/local/lib/android/sdk/ndk/22.1.7171670"
35
+ export ANDROID_NDK_HOME=" /usr/local/lib/android/sdk/ndk/22.1.7171670"
36
+ ls -la android-ndk-r22b-linux || true
37
+ ls -la /usr/local/lib/android/sdk/ndk/22.1.7171670 || true
38
+ ls -la /usr/local/lib/android/sdk/ndk/22.1.7171670/android-ndk-r22b-linux || true
39
+ export NDK_ROOT=$ANDROID_NDK_ROOT /ndk-bundle # This var is not exist on Azure MacOS image, step can be skipped on other CI
28
40
echo " NDK_ROOT is ${NDK_ROOT} , ANDROID_HOME is ${ANDROID_HOME} " # as we already set this var inside docker image.
29
41
ls -la $ANDROID_HOME
30
- export PATH=$PATH :$ANDROID_HOME /tools/bin/:$ANDROID_HOME /emulator:$ANDROID_HOME /platform-tools
42
+ export PATH=$PATH :$ANDROID_HOME /tools/bin/:$ANDROID_HOME /emulator:$ANDROID_HOME /platform-tools: $ANDROID_HOME /cmdline-tools/latest/bin/
31
43
44
+ # Start compilation
32
45
mkdir -p build && cd build
33
46
34
47
echo " "
35
48
echo " "
36
49
echo " *************** $VARIANT Build SDK for C++ ********** Start ***************"
37
- CMAKE_COMMAND=" cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo - DCMAKE_TOOLCHAIN_FILE=$NDK_ROOT /build/cmake/android.toolchain.cmake \
50
+ CMAKE_COMMAND=" cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILD_TYPE= ${BUILD_TYPE} - DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_ROOT /build/cmake/android.toolchain.cmake \
38
51
-DANDROID_PLATFORM=android-$ANDROID_API -DANDROID_STL=c++_static -DANDROID_ABI=$ANDROID_ABI "
39
52
BUILD_COMMAND=" cmake --build . -- -j4"
40
53
@@ -51,16 +64,16 @@ echo " ---- Calling ${BUILD_COMMAND}"
51
64
${BUILD_COMMAND}
52
65
cd -
53
66
54
- sdkmanager --list
67
+ ${ANDROID_SDK_ROOT} /cmdline-tools/latest/bin/ sdkmanager --list
55
68
56
69
# Add emulator if not already added. Needed for docker.
57
- echo " y" | sdkmanager " emulator" " platforms;android-$ANDROID_API "
70
+ echo " y" | ${ANDROID_SDK_ROOT} /cmdline-tools/latest/bin/ sdkmanager " emulator" " platforms;android-$ANDROID_API "
58
71
59
72
# Install AVD files
60
- echo " y" | sdkmanager --install " system-images;android-$ANDROID_API ;google_apis;$ANDROID_ABI "
73
+ echo " y" | ${ANDROID_SDK_ROOT} /cmdline-tools/latest/bin/ sdkmanager --install " system-images;android-$ANDROID_API ;google_apis;$ANDROID_ABI "
61
74
62
75
# Create emulator
63
- echo " no" | avdmanager create avd -n android_emulator -k " system-images;android-$ANDROID_API ;google_apis;$ANDROID_ABI " --force
76
+ echo " no" | ${ANDROID_SDK_ROOT} /cmdline-tools/latest/bin/ avdmanager create avd -n android_emulator -k " system-images;android-$ANDROID_API ;google_apis;$ANDROID_ABI " --force
64
77
echo " AVD created"
65
78
emulator -list-avds
66
79
0 commit comments