Skip to content

Instantly share code, notes, and snippets.

@barelyhuman
Created March 29, 2023 13:19
Show Gist options
  • Save barelyhuman/3cbbc2084aa5eaeb7a989287ec8c8540 to your computer and use it in GitHub Desktop.
Save barelyhuman/3cbbc2084aa5eaeb7a989287ec8c8540 to your computer and use it in GitHub Desktop.
FROM ghcr.io/mmafrar/alpine-react-native-android:latest
# Install dependencies
RUN apk add --no-cache git curl bash build-base openssl openssh-client libffi-dev libxml2-dev libxslt-dev libgcrypt-dev libressl-dev readline-dev yaml-dev zlib-dev ncurses-dev gdbm-dev pcre-dev mariadb-dev sqlite-dev
# Install rbenv
# Install rbenv
RUN git clone https://github.com/rbenv/rbenv.git /root/.rbenv
RUN git clone https://github.com/rbenv/ruby-build.git /root/.rbenv/plugins/ruby-build
RUN /root/.rbenv/plugins/ruby-build/install.sh
ENV PATH /root/.rbenv/bin:$PATH
RUN echo 'eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh # or /etc/profile
RUN echo 'eval "$(rbenv init -)"' >> .bashrc
# SHELL ["/bin/bash", "-c"]
# Install Ruby
ARG RUBY_VERSION=3.2.1
ENV RUBY_VERSION=$RUBY_VERSION
RUN /bin/bash -c 'rbenv install 3.0.3' \
&& /bin/bash -c 'rbenv global 3.0.3'
# Set environment variables for Android SDK
ARG ANDROID_SDK_VERSION=4333796
ENV ANDROID_SDK_VERSION=$ANDROID_SDK_VERSION
ENV ANDROID_SDK_URL="https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_VERSION}.zip"
ENV ANDROID_HOME="/root/android-sdk"
ENV ANDROID_SDK_ROOT="/root/android-sdk"
ENV ANDROID_SDK_LICENSES="/root/.android/licenses"
ENV PATH="$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH"
ARG ANDROID_BUILD_VERSION=29
ENV ANDROID_BUILD_VERSION=$ANDROID_BUILD_VERSION
# Install Android SDK dependencies
RUN apk add --update --no-cache openjdk8-jre
# Install Android SDK
RUN mkdir -p ${ANDROID_HOME} && \
curl -sL "${ANDROID_SDK_URL}" -o android-sdk.zip && \
unzip android-sdk.zip -d ${ANDROID_HOME} && \
rm android-sdk.zip
# Accept all Android SDK licenses
RUN yes | ${ANDROID_HOME}/tools/bin/sdkmanager --licenses
ARG ANDROID_BUILD_VERSION_FALLBACK=28
ENV ANDROID_BUILD_VERSION_FALLBACK=$ANDROID_BUILD_VERSION_FALLBACK
ARG ANDROID_TOOLS_VERSION=29.0.0
ENV ANDROID_TOOLS_VERSION=$ANDROID_TOOLS_VERSION
ARG ANDROID_TOOLS_VERSION_FALLBACK=28.0.0
ENV ANDROID_TOOLS_VERSION_FALLBACK=$ANDROID_TOOLS_VERSION_FALLBACK
ARG CMAKE_VERSION=3.22.1
ENV CMAKE_VERSION=$CMAKE_VERSION
ARG OLD_CMAKE_VERSION=3.18.1
ENV OLD_CMAKE_VERSION=$OLD_CMAKE_VERSION
# Install platform tools
RUN yes | ${ANDROID_HOME}/tools/bin/sdkmanager "platform-tools" \
"emulator" \
"platforms;android-$ANDROID_BUILD_VERSION" \
"platforms;android-$ANDROID_BUILD_VERSION_FALLBACK" \
"build-tools;$ANDROID_TOOLS_VERSION" \
"build-tools;$ANDROID_TOOLS_VERSION_FALLBACK" \
"cmake;$CMAKE_VERSION" \
"cmake;$OLD_CMAKE_VERSION" \
"system-images;android-21;google_apis;armeabi-v7a"
# Install fastlane
RUN apk add --update --no-cache ruby ruby-dev ruby-bundler && \
gem install fastlane
WORKDIR /app
CMD ["bash"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment