HstarDoc
HstarDoc copied to clipboard
Android 分布式打包分析
apt-get update -qq > /dev/null
# 安装依赖库
apt-get update && apt-get install -y --no-install-recommends apt-utils > /dev/null
apt-get install -qq --no-install-recommends \
build-essential \
autoconf \
curl \
git \
lib32stdc++6 \
lib32z1 \
lib32z1-dev \
lib32ncurses5 \
libc6-dev \
libgmp-dev \
libmpc-dev \
libmpfr-dev \
libxslt-dev \
libxml2-dev \
m4 \
ncurses-dev \
ocaml \
openjdk-8-jdk \
openssh-client \
pkg-config \
python-software-properties \
ruby-full \
software-properties-common \
unzip \
wget \
zip \
zlib1g-dev > /dev/null
# 安装Node
curl -sL -k https://deb.nodesource.com/setup_${NODE_VERSION} \
| bash - > /dev/null && \
apt-get install -qq nodejs > /dev/null
apt-get clean > /dev/null && \
rm -rf /var/lib/apt/lists/ && \
npm install --quiet -g npm > /dev/null && \
npm install --quiet -g react-native-cli > /dev/null && \
npm cache clean --force > /dev/null
echo "installing fastlane" && \
gem install fastlane --quiet --no-document > /dev/null
# Get the latest version from https://developer.android.com/studio/index.html
ENV ANDROID_SDK_TOOLS_VERSION="3859397"
# Get the latest version from https://developer.android.com/ndk/downloads/index.html
ENV ANDROID_NDK_VERSION="15c"
ENV ANDROID_HOME="/opt/android-sdk" \
ANDROID_NDK="/opt/android-ndk" \
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
# 安装sdk Tools
echo "installing sdk tools" && \
wget --quiet --output-document=sdk-tools.zip \
"https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS_VERSION}.zip" && \
mkdir --parents "$ANDROID_HOME" && \
unzip -q sdk-tools.zip -d "$ANDROID_HOME" && \
rm --force sdk-tools.zip
# 安装ndk
echo "installing ndk" && \
wget --quiet --output-document=android-ndk.zip \
"http://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_VERSION}-linux-x86_64.zip" && \
mkdir --parents "$ANDROID_NDK_HOME" && \
unzip -q android-ndk.zip -d "$ANDROID_NDK" && \
rm --force android-ndk.zip && \
# Install SDKs
# Please keep these in descending order!
# The `yes` is for accepting all non-standard tool licenses.
mkdir --parents "$HOME/.android/" && \
echo '### User Sources for Android SDK Manager' > \
"$HOME/.android/repositories.cfg" && \
yes | "$ANDROID_HOME"/tools/bin/sdkmanager --licenses > /dev/null && \
echo "installing platforms" && \
yes | "$ANDROID_HOME"/tools/bin/sdkmanager \
"platforms;android-26" \
"platforms;android-25" \
"platforms;android-24" \
"platforms;android-23" \
echo "installing platform tools " && \
yes | "$ANDROID_HOME"/tools/bin/sdkmanager \
"platform-tools"
echo "installing build tools " && \
yes | "$ANDROID_HOME"/tools/bin/sdkmanager \
"build-tools;26.0.2" "build-tools;26.0.1" "build-tools;26.0.0" \
"build-tools;25.0.3" "build-tools;25.0.2" \
"build-tools;25.0.1" "build-tools;25.0.0" \
"build-tools;24.0.3" "build-tools;24.0.2" \
"build-tools;24.0.1" "build-tools;24.0.0" \
"build-tools;23.0.3" "build-tools;23.0.2" "build-tools;23.0.1"
echo "installing extras " && \
yes | "$ANDROID_HOME"/tools/bin/sdkmanager \
"extras;android;m2repository" \
"extras;google;m2repository"
echo "installing play services " && \
yes | "$ANDROID_HOME"/tools/bin/sdkmanager \
"extras;google;google_play_services" \
"extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2" \
"extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1"
echo "installing Google APIs" && \
yes | "$ANDROID_HOME"/tools/bin/sdkmanager \
"add-ons;addon-google_apis-google-24" \
"add-ons;addon-google_apis-google-23" \
"add-ons;addon-google_apis-google-22" \
"add-ons;addon-google_apis-google-21"
# 安装Git
apt-get install git
https://github.com/mingchen/docker-android-build-box/blob/master/Dockerfile