1FROM ubuntu:20.04 2 3RUN dpkg --add-architecture i386 4RUN apt-get update 5RUN apt-get install -y --no-install-recommends libc6-dev gcc 6RUN apt-get install -y --no-install-recommends \ 7 file \ 8 wget \ 9 ca-certificates \ 10 python3 \ 11 python3-distutils \ 12 unzip \ 13 expect \ 14 openjdk-8-jre \ 15 libstdc++6:i386 \ 16 libpulse0 17 18WORKDIR /android/ 19COPY android* /android/ 20 21ENV ANDROID_ARCH=i686 22ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/cmdline-tools/tools:/android/sdk/platform-tools 23 24RUN sh /android/android-install-ndk.sh $ANDROID_ARCH 25RUN sh /android/android-install-sdk.sh $ANDROID_ARCH 26RUN mv /root/.android /tmp 27RUN chmod 777 -R /tmp/.android 28RUN chmod 755 /android/sdk/cmdline-tools/tools/* /android/sdk/emulator/qemu/linux-x86_64/* 29 30ENV PATH=$PATH:/rust/bin \ 31 CARGO_TARGET_I686_LINUX_ANDROID_LINKER=i686-linux-android-gcc \ 32 CARGO_TARGET_I686_LINUX_ANDROID_RUNNER=/tmp/runtest \ 33 HOME=/tmp 34 35ADD runtest-android.rs /tmp/runtest.rs 36ENTRYPOINT [ \ 37 "bash", \ 38 "-c", \ 39 # set SHELL so android can detect a 64bits system, see 40 # http://stackoverflow.com/a/41789144 41 "SHELL=/bin/dash /android/sdk/emulator/emulator @i686 -no-window -no-accel & \ 42 rustc /tmp/runtest.rs -o /tmp/runtest && \ 43 exec \"$@\"", \ 44 "--" \ 45] 46