1e59402ddSYuki OkushiFROM ubuntu:20.04 2599eec37SMarco A L Barbosa 3341b31e8SYuki OkushiRUN dpkg --add-architecture i386 4341b31e8SYuki OkushiRUN apt-get update 5341b31e8SYuki OkushiRUN apt-get install -y --no-install-recommends libc6-dev gcc 6341b31e8SYuki OkushiRUN apt-get install -y --no-install-recommends \ 7599eec37SMarco A L Barbosa file \ 89d9d15edSYuki Okushi wget \ 9599eec37SMarco A L Barbosa ca-certificates \ 108de521cfSYuki Okushi python3 \ 118de521cfSYuki Okushi python3-distutils \ 12599eec37SMarco A L Barbosa unzip \ 13599eec37SMarco A L Barbosa expect \ 14eb0794a5Sgnzlbg openjdk-8-jre \ 15599eec37SMarco A L Barbosa libstdc++6:i386 \ 16341b31e8SYuki Okushi libpulse0 17599eec37SMarco A L Barbosa 18599eec37SMarco A L BarbosaWORKDIR /android/ 19599eec37SMarco A L BarbosaCOPY android* /android/ 20599eec37SMarco A L Barbosa 21599eec37SMarco A L BarbosaENV ANDROID_ARCH=aarch64 22*d565a360SYuki OkushiENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/cmdline-tools/tools:/android/sdk/platform-tools 23599eec37SMarco A L Barbosa 24599eec37SMarco A L BarbosaRUN sh /android/android-install-ndk.sh $ANDROID_ARCH 25599eec37SMarco A L BarbosaRUN sh /android/android-install-sdk.sh $ANDROID_ARCH 26599eec37SMarco A L BarbosaRUN mv /root/.android /tmp 27599eec37SMarco A L BarbosaRUN chmod 777 -R /tmp/.android 28*d565a360SYuki OkushiRUN chmod 755 /android/sdk/cmdline-tools/tools/* /android/sdk/emulator/qemu/linux-x86_64/* 29*d565a360SYuki OkushiRUN ls -a /android/sdk/platform-tools 30599eec37SMarco A L Barbosa 31599eec37SMarco A L BarbosaENV PATH=$PATH:/rust/bin \ 32599eec37SMarco A L Barbosa CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android-gcc \ 33d4240220SAlex Crichton CARGO_TARGET_AARCH64_LINUX_ANDROID_RUNNER=/tmp/runtest \ 34599eec37SMarco A L Barbosa HOME=/tmp 35d4240220SAlex Crichton 36d4240220SAlex CrichtonADD runtest-android.rs /tmp/runtest.rs 37d4240220SAlex CrichtonENTRYPOINT [ \ 38d4240220SAlex Crichton "bash", \ 39d4240220SAlex Crichton "-c", \ 40d4240220SAlex Crichton # set SHELL so android can detect a 64bits system, see 41d4240220SAlex Crichton # http://stackoverflow.com/a/41789144 42a9115d5eSMarco A L Barbosa "SHELL=/bin/dash /android/sdk/emulator/emulator @aarch64 -no-window & \ 43d4240220SAlex Crichton rustc /tmp/runtest.rs -o /tmp/runtest && \ 44d4240220SAlex Crichton exec \"$@\"", \ 45d4240220SAlex Crichton "--" \ 46d4240220SAlex Crichton] 47