From b329ae8167750290e22b4d9a12c7b93d709a4dfb Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 3 Sep 2021 09:38:33 +0200 Subject: [PATCH] Target Android 12 (S) + new docker image --- .gitlab-ci-files/job-android.yml | 2 +- app/build.gradle | 6 ++-- docker-files/bc-dev-android-31 | 62 ++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 docker-files/bc-dev-android-31 diff --git a/.gitlab-ci-files/job-android.yml b/.gitlab-ci-files/job-android.yml index 4e86a575d..1127eff87 100644 --- a/.gitlab-ci-files/job-android.yml +++ b/.gitlab-ci-files/job-android.yml @@ -2,7 +2,7 @@ job-android: stage: build tags: [ "docker-android" ] - image: gitlab.linphone.org:4567/bc/public/linphone-android/bc-dev-android:30 + image: gitlab.linphone.org:4567/bc/public/linphone-android/bc-dev-android:20210903_java11_android31 before_script: - if ! [ -z ${SCP_PRIVATE_KEY+x} ]; then eval $(ssh-agent -s); fi diff --git a/app/build.gradle b/app/build.gradle index 19bf0a5b9..7c9c26ed5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -79,11 +79,11 @@ project.tasks['preBuild'].dependsOn 'getGitVersion' project.tasks['preBuild'].dependsOn 'linphoneSdkSource' android { - compileSdkVersion 30 - buildToolsVersion '30.0.3' + compileSdkVersion 31 + buildToolsVersion '31.0.0' defaultConfig { minSdkVersion 23 - targetSdkVersion 30 + targetSdkVersion 31 versionCode 4600 versionName "${project.version}" applicationId getPackageName() diff --git a/docker-files/bc-dev-android-31 b/docker-files/bc-dev-android-31 new file mode 100644 index 000000000..0fecac072 --- /dev/null +++ b/docker-files/bc-dev-android-31 @@ -0,0 +1,62 @@ +FROM debian:stretch + +MAINTAINER Sylvain BERFINI + +# Configure locale +RUN apt-get update && \ + apt-get install -y locales && \ + apt-get clean && \ + echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \ + locale-gen +ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' + +ENV SHELL=/bin/bash + +# Define environment +ENV ANDROID_SDK 25.2.5 +ENV ANDROID_HOME /opt/android-sdk-linux +ENV ANDROID_NDK_HOME /opt/android-sdk-linux/ndk + +# Backports required for JDK 11 +RUN echo "deb http://deb.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list + +# Install common general tools +RUN apt-get update && \ + apt-get install -y curl nano sudo unzip vim wget rsync ssh git openjdk-8-jdk-headless && \ + apt-get -t stretch-backports install -y openjdk-11-jdk-headless && \ + apt-get clean + +# Get the Android tools +RUN wget https://dl.google.com/android/repository/tools_r$ANDROID_SDK-linux.zip && \ + unzip tools_r$ANDROID_SDK-linux.zip -d $ANDROID_HOME && \ + rm -f tools_r$ANDROID_SDK-linux.zip + +# Get latest Android command line tools, otherwise won't work with JDK 11 +RUN mkdir -p $ANDROID_HOME/cmdline-tools/latest +RUN wget https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip && \ + unzip commandlinetools-linux-7583922_latest.zip && \ + cp -R ./cmdline-tools/* $ANDROID_HOME/cmdline-tools/latest/ && \ + rm -rf ./cmdline-tools && \ + rm -rf commandlinetools-linux-7583922_latest.zip + +# Update path to include all Android SDK tools +ENV PATH $ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:ANDROID_NDK_HOME:$PATH + +# Test +RUN $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --list --verbose --sdk_root=$ANDROID_HOME + +# Get the Android SDK +RUN echo "y" | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platforms;android-31" "build-tools;31.0.0" "extras;android;m2repository" "extras;google;m2repository" "platform-tools" "tools" "ndk;21.3.6528147" --sdk_root=$ANDROID_HOME + +# Accept Android SDK licenses +RUN yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses --sdk_root=$ANDROID_HOME + +# Configure user bc +RUN useradd -ms /bin/bash bc && \ + echo 'bc:cotcot' | chpasswd && \ + echo 'bc ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +USER bc +WORKDIR /home/bc +ENV PS1='\[\e[34m\]\u@bc-dev-android>\[\e[0m\] ' +CMD bash