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