Skip to content

Instantly share code, notes, and snippets.

@ontologiae
Created September 8, 2021 19:28
Show Gist options
  • Save ontologiae/c015c257b8955f510499406afbb76beb to your computer and use it in GitHub Desktop.
Save ontologiae/c015c257b8955f510499406afbb76beb to your computer and use it in GitHub Desktop.
#Docker for wireapp-android compiling
FROM openjdk:8 as base
RUN apt-get clean && \
rm -rf /var/lib/apt/lists/* && \
apt-get update && \
apt-get install -yq libc6 libstdc++6 zlib1g libncurses5 build-essential libssl-dev ruby ruby-dev wget --no-install-recommends docker.io vim unzip apt-utils maven sudo file && \
apt-get clean
#RUN apt install openjdk-8-jre-headless ca-certificates-java --assume-yes
RUN gem install bundler
# Cleaning
RUN apt-get clean
ARG USER=android-agent
ARG USER_ID=1000
ARG GROUP_ID=1000
RUN useradd -m ${USER} --uid=${USER_ID}
USER ${USER_ID}:${GROUP_ID}
WORKDIR /home/${USER}
ENV HOME /home/${USER}
#RUN usermod -aG sudo $USER
# Download and untar Android SDK tools
RUN mkdir -p /home/${USER}/android-sdk-linux && \
wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip -O tools.zip && \
unzip tools.zip -d /home/${USER}/android-sdk && \
rm tools.zip
# Download and untar Android NDK tools
ENV ANDROID_NDK_HOME /home/${USER}/android-ndk
ENV ANDROID_NDK_VERSION r20
RUN mkdir /home/${USER}/android-ndk-tmp && \
cd /home/${USER}/android-ndk-tmp && \
wget -q https://dl.google.com/android/repository/android-ndk-${ANDROID_NDK_VERSION}-linux-x86_64.zip && \
# uncompress
unzip -q android-ndk-${ANDROID_NDK_VERSION}-linux-x86_64.zip && \
# move to its final location
mv ./android-ndk-${ANDROID_NDK_VERSION} ${ANDROID_NDK_HOME} && \
# remove temp dir
cd ${ANDROID_NDK_HOME} && \
rm -rf /home/${USER}/android-ndk-tmp
# Set environment variable
ENV ANDROID_HOME /home/${USER}/android-sdk
ENV ANDROID_SDK=${ANDROID_HOME}
ENV PATH ${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/emulator:${ANDROID_HOME}/tools/bin:$ANDROID_NDK_HOME:$PATH
#define the values to install/setup via the sdk manager
ARG BUILD_TOOLS_VERSION=30.0.2
ARG PLATFORMS_VERSION=android-29
ARG ARCHITECTURE=x86
# Make license agreement
RUN yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses
RUN mkdir -p /home/android-agent/.android/ && touch /home/android-agent/.android/repositories.cfg
#RUN sudo chown 777 -R /root/.m2
# Update and install using sdkmanager
RUN $ANDROID_HOME/tools/bin/sdkmanager "tools" "platform-tools" "build-tools;${BUILD_TOOLS_VERSION}" "platforms;${PLATFORMS_VERSION}" "system-images;${PLATFORMS_VERSION};default;${ARCHITECTURE}" "extras;android;m2repository" "extras;google;m2repository"
#RUN cd && git clone https://github.com/obfusk/wire-android.git
RUN mkdir -p /home/android-agent/wiredev
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment