diff --git a/ci/android-install-sdk.sh b/ci/android-install-sdk.sh index 6f6aeb28e82b0..7abae1f8ea68c 100644 --- a/ci/android-install-sdk.sh +++ b/ci/android-install-sdk.sh @@ -39,9 +39,9 @@ esac; # Try to fix warning about missing file. # See https://askubuntu.com/a/1078784 -mkdir -p /root/.android/ -echo '### User Sources for Android SDK Manager' >> /root/.android/repositories.cfg -echo '#Fri Nov 03 10:11:27 CET 2017 count=0' >> /root/.android/repositories.cfg +mkdir -p /tmp/.android/avd +echo '### User Sources for Android SDK Manager' >> /tmp/.android/repositories.cfg +echo '#Fri Nov 03 10:11:27 CET 2017 count=0' >> /tmp/.android/repositories.cfg # Print all available packages # yes | ./sdk/tools/bin/sdkmanager --list --verbose @@ -59,6 +59,6 @@ yes | ./sdk/cmdline-tools/tools/bin/sdkmanager --no_https \ "${image}" | grep -v = || true echo "no" | - ./sdk/cmdline-tools/tools/bin/avdmanager create avd \ + ./sdk/cmdline-tools/tools/bin/avdmanager -v create avd \ --name "${1}" \ --package "${image}" | grep -v = || true diff --git a/ci/docker/i686-linux-android/Dockerfile b/ci/docker/i686-linux-android/Dockerfile index ed1b2e9fbef0e..efb21f108f852 100644 --- a/ci/docker/i686-linux-android/Dockerfile +++ b/ci/docker/i686-linux-android/Dockerfile @@ -13,17 +13,22 @@ RUN apt-get install -y --no-install-recommends \ expect \ openjdk-8-jre \ libstdc++6:i386 \ - libpulse0 + libpulse0 \ + android-sdk WORKDIR /android/ COPY android* /android/ -ENV ANDROID_ARCH=i686 +ENV ANDROID_ARCH=i686 \ + ANDROID_HOME=/usr/lib/android-sdk \ + ANDROID_SDK_ROOT=/usr/lib/android-sdk ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/cmdline-tools/tools:/android/sdk/platform-tools RUN sh /android/android-install-ndk.sh $ANDROID_ARCH RUN sh /android/android-install-sdk.sh $ANDROID_ARCH -RUN mv /root/.android /tmp +RUN cp -r /root/.android /tmp +RUN cp -r /android/sdk /tmp +RUN chmod 777 -R /root/.android RUN chmod 777 -R /tmp/.android RUN chmod 755 /android/sdk/cmdline-tools/tools/* /android/sdk/emulator/qemu/linux-x86_64/* @@ -31,7 +36,14 @@ ENV PATH=$PATH:/rust/bin \ CARGO_TARGET_I686_LINUX_ANDROID_LINKER=i686-linux-android-gcc \ CARGO_TARGET_I686_LINUX_ANDROID_RUNNER=/tmp/runtest \ CC_i686_linux_android=i686-linux-android-gcc \ - HOME=/tmp + HOME=/tmp \ + ANDROID_AVD_HOME=/tmp/.android/avd + +RUN ls -a /root/.android +RUN ls -a /root/.android/avd +RUN ls -a /root/.android/avd/i686.avd +RUN ls -a /tmp/.android +RUN ls -a /tmp/.android/avd ADD runtest-android.rs /tmp/runtest.rs ENTRYPOINT [ \ @@ -39,7 +51,7 @@ ENTRYPOINT [ \ "-c", \ # set SHELL so android can detect a 64bits system, see # http://stackoverflow.com/a/41789144 - "SHELL=/bin/dash /android/sdk/emulator/emulator @i686 -no-window -no-accel & \ + "SHELL=/bin/dash ANDROID_AVD_HOME=/tmp/.android/avd /android/sdk/emulator/emulator @i686 -no-window -no-accel & \ rustc /tmp/runtest.rs -o /tmp/runtest && \ exec \"$@\"", \ "--" \