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