• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1%YAML 1.2
2--- |
3  # Copyright 2021 The gRPC Authors
4  #
5  # Licensed under the Apache License, Version 2.0 (the "License");
6  # you may not use this file except in compliance with the License.
7  # You may obtain a copy of the License at
8  #
9  #     http://www.apache.org/licenses/LICENSE-2.0
10  #
11  # Unless required by applicable law or agreed to in writing, software
12  # distributed under the License is distributed on an "AS IS" BASIS,
13  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  # See the License for the specific language governing permissions and
15  # limitations under the License.
16
17  <%include file="../../oss_fuzz_base.include"/>
18  <%include file="../../bazel.include"/>
19
20  #========================
21  # Java
22  RUN apt-get install -y openjdk-21-jdk
23
24  #========================
25  # Android SDK/NDK installation
26  ENV ANDROID_SDK_VERSION 11076708
27  ENV ANDROID_NDK_VERSION 26.2.11394342
28
29  ENV SDK_ROOT /opt/android-sdk
30
31  RUN mkdir -p $SDK_ROOT
32  RUN cd $SDK_ROOT && \
33      wget -O cmd.zip https://dl.google.com/android/repository/commandlinetools-linux-${'${ANDROID_SDK_VERSION}'}_latest.zip && \
34      unzip -q cmd.zip && \
35      rm cmd.zip
36
37  RUN yes | $SDK_ROOT/cmdline-tools/bin/sdkmanager --sdk_root=$SDK_ROOT --licenses  # accept all licenses
38
39  # This is not required but desirable to reduce the time to download and the chance of download failure.
40  RUN mkdir -p ~/.android && touch ~/.android/repositories.cfg
41
42  RUN $SDK_ROOT/cmdline-tools/bin/sdkmanager --sdk_root=$SDK_ROOT "ndk;$ANDROID_NDK_VERSION" "platforms;android-33" "build-tools;34.0.0"
43
44  # Set environment variables for Bazel rules
45  ENV ANDROID_HOME $SDK_ROOT
46  ENV ANDROID_NDK_HOME $SDK_ROOT/ndk/$ANDROID_NDK_VERSION
47
48  # Define the default command.
49  CMD ["bash"]
50