xref: /aosp_15_r20/external/pytorch/.ci/docker/common/install_android.sh (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1#!/bin/bash
2
3set -ex
4
5[ -n "${ANDROID_NDK}" ]
6
7_https_amazon_aws=https://ossci-android.s3.amazonaws.com
8
9apt-get update
10apt-get install -y --no-install-recommends autotools-dev autoconf unzip
11apt-get autoclean && apt-get clean
12rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
13
14pushd /tmp
15curl -Os --retry 3 $_https_amazon_aws/android-ndk-${ANDROID_NDK}-linux-x86_64.zip
16popd
17_ndk_dir=/opt/ndk
18mkdir -p "$_ndk_dir"
19unzip -qo /tmp/android*.zip -d "$_ndk_dir"
20_versioned_dir=$(find "$_ndk_dir/" -mindepth 1 -maxdepth 1 -type d)
21mv "$_versioned_dir"/* "$_ndk_dir"/
22rmdir "$_versioned_dir"
23rm -rf /tmp/*
24
25# Install OpenJDK
26# https://hub.docker.com/r/picoded/ubuntu-openjdk-8-jdk/dockerfile/
27
28sudo apt-get update && \
29    apt-get install -y openjdk-8-jdk && \
30    apt-get install -y ant && \
31    apt-get clean && \
32    rm -rf /var/lib/apt/lists/* && \
33    rm -rf /var/cache/oracle-jdk8-installer;
34
35# Fix certificate issues, found as of
36# https://bugs.launchpad.net/ubuntu/+source/ca-certificates-java/+bug/983302
37
38sudo apt-get update && \
39    apt-get install -y ca-certificates-java && \
40    apt-get clean && \
41    update-ca-certificates -f && \
42    rm -rf /var/lib/apt/lists/* && \
43    rm -rf /var/cache/oracle-jdk8-installer;
44
45export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
46
47# Installing android sdk
48# https://github.com/circleci/circleci-images/blob/staging/android/Dockerfile.m4
49
50_tmp_sdk_zip=/tmp/android-sdk-linux.zip
51_android_home=/opt/android/sdk
52
53rm -rf $_android_home
54sudo mkdir -p $_android_home
55curl --silent --show-error --location --fail --retry 3 --output /tmp/android-sdk-linux.zip $_https_amazon_aws/android-sdk-linux-tools3859397-build-tools2803-2902-platforms28-29.zip
56sudo unzip -q $_tmp_sdk_zip -d $_android_home
57rm $_tmp_sdk_zip
58
59sudo chmod -R 777 $_android_home
60
61export ANDROID_HOME=$_android_home
62export ADB_INSTALL_TIMEOUT=120
63
64export PATH="${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools:${PATH}"
65echo "PATH:${PATH}"
66
67# Installing Gradle
68echo "GRADLE_VERSION:${GRADLE_VERSION}"
69_gradle_home=/opt/gradle
70sudo rm -rf $gradle_home
71sudo mkdir -p $_gradle_home
72
73curl --silent --output /tmp/gradle.zip --retry 3 $_https_amazon_aws/gradle-${GRADLE_VERSION}-bin.zip
74
75sudo unzip -q /tmp/gradle.zip -d $_gradle_home
76rm /tmp/gradle.zip
77
78sudo chmod -R 777 $_gradle_home
79
80export GRADLE_HOME=$_gradle_home/gradle-$GRADLE_VERSION
81alias gradle="${GRADLE_HOME}/bin/gradle"
82
83export PATH="${GRADLE_HOME}/bin/:${PATH}"
84echo "PATH:${PATH}"
85
86gradle --version
87
88mkdir /var/lib/jenkins/gradledeps
89cp build.gradle /var/lib/jenkins/gradledeps
90cp AndroidManifest.xml /var/lib/jenkins/gradledeps
91
92pushd /var/lib/jenkins
93
94export GRADLE_LOCAL_PROPERTIES=gradledeps/local.properties
95rm -f $GRADLE_LOCAL_PROPERTIES
96echo "sdk.dir=/opt/android/sdk" >> $GRADLE_LOCAL_PROPERTIES
97echo "ndk.dir=/opt/ndk" >> $GRADLE_LOCAL_PROPERTIES
98
99chown -R jenkins /var/lib/jenkins/gradledeps
100chgrp -R jenkins /var/lib/jenkins/gradledeps
101
102sudo -H -u jenkins $GRADLE_HOME/bin/gradle -Pandroid.useAndroidX=true -p /var/lib/jenkins/gradledeps -g /var/lib/jenkins/.gradle --refresh-dependencies --debug --stacktrace assemble
103
104chown -R jenkins /var/lib/jenkins/.gradle
105chgrp -R jenkins /var/lib/jenkins/.gradle
106
107popd
108
109rm -rf /var/lib/jenkins/.gradle/daemon
110
111# Cache vision models used by the test
112source "$(dirname "${BASH_SOURCE[0]}")/cache_vision_models.sh"
113