diff --git a/Dockerfile b/Dockerfile index 76afddf..79c36a4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:18.04 +FROM ubuntu:22.04 ENV DEBIAN_FRONTEND noninteractive @@ -10,14 +10,14 @@ ENV ANDROID_SDK ${ANDROID_HOME} ENV PATH "${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin" ENV PATH "${PATH}:${ANDROID_HOME}/cmdline-tools/tools/bin" ENV PATH "${PATH}:${ANDROID_HOME}/tools/bin" -ENV PATH "${PATH}:${ANDROID_HOME}/build-tools/32.0.0" +ENV PATH "${PATH}:${ANDROID_HOME}/build-tools/33.0.0" ENV PATH "${PATH}:${ANDROID_HOME}/platform-tools" ENV PATH "${PATH}:${ANDROID_HOME}/emulator" ENV PATH "${PATH}:${ANDROID_HOME}/bin" RUN dpkg --add-architecture i386 && \ apt-get update -yqq && \ - apt-get install -y curl expect git libc6:i386 libgcc1:i386 libncurses5:i386 libstdc++6:i386 zlib1g:i386 openjdk-11-jdk wget unzip vim && \ + apt-get install -y curl expect git libc6:i386 libgcc1:i386 libncurses5:i386 libstdc++6:i386 zlib1g:i386 openjdk-11-jdk wget unzip vim qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils && \ apt-get clean RUN groupadd android && useradd -d /opt/android-sdk-linux -g android android @@ -30,9 +30,9 @@ WORKDIR /opt/android-sdk-linux RUN /opt/tools/entrypoint.sh built-in RUN /opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "cmdline-tools;latest" -RUN /opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "build-tools;32.0.0" +RUN /opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "build-tools;33.0.0" RUN /opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "platform-tools" -RUN /opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "platforms;android-31" -RUN /opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "system-images;android-31;google_apis;x86_64" +RUN /opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "platforms;android-33" +RUN /opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "system-images;android-33;google_apis;x86_64" CMD /opt/tools/entrypoint.sh built-in diff --git a/README.md b/README.md index 17c3430..d81e145 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,34 @@ -# Docker for Android SDK 31 +# Docker for Android SDK -Docker for Android SDK 31 with preinstalled build tools and emulator image +Docker for Android SDK with preinstalled build tools and emulator image -> Edit from [mindrunner/docker-android-sdk](https://github.com/mindrunner/docker-android-sdk) +> Edit from [docker-android-sdk/android-31](https://github.com/docker-android-sdk/android-31) **Installed Packages** ```bash # sdkmanager --list Path | Version | Description | Location ------- | ------- | ------- | ------- - build-tools;32.0.0 | 32.0.0 | Android SDK Build-Tools 32 | build-tools/32.0.0 - cmdline-tools;latest | 6.0 | Android SDK Command-line Tools (latest) | cmdline-tools/latest - emulator | 31.2.8 | Android Emulator | emulator + build-tools;33.0.0 | 33.0.0 | Android SDK Build-Tools 33 | build-tools/33.0.0 + cmdline-tools;latest | 7.0 | Android SDK Command-line Tools (latest) | cmdline-tools/latest + emulator | 31.2.10 | Android Emulator | emulator patcher;v4 | 1 | SDK Patch Applier v4 | patcher/v4 - platform-tools | 32.0.0 | Android SDK Platform-Tools | platform-tools - platforms;android-31 | 1 | Android SDK Platform 31 | platforms/android-31 - system-images;android-31;google_apis;x86_64 | 8 | Google APIs Intel x86 Atom_64 System Image | system-images/android-31/google_apis/x86_64 + platform-tools | 33.0.2 | Android SDK Platform-Tools | platform-tools + platforms;android-33 | 2 | Android SDK Platform 33 | platforms/android-33 + system-images;android-33;google_apis;x86_64 | 6 | Google APIs Intel x86 Atom_64 System Image | system-images/android-33/google_apis/x86_64 + ``` **Usage** - Interactive way ```bash - $ docker run -it --rm --device /dev/kvm androidsdk/android-31:latest bash + $ docker run -it --rm --device /dev/kvm juanmi/android-sdk-docker:latest bash # check installed packages $ sdkmanager --list # create and run emulator - $ avdmanager create avd -n first_avd --abi google_apis/x86_64 -k "system-images;android-31;google_apis;x86_64" - $ emulator -avd first_avd -no-window -no-audio & + $ avdmanager --verbose create avd --force --name "generic_33" --package "system-images;android-33;google_apis;x86_64" --tag "google_apis" --abi "x86_64" + $ emulator -avd "generic_33" -no-window -no-audio -no-boot-anim -netdelay none -no-snapshot -wipe-data & $ adb devices # You can also run other Android platform tools, which are all added to the PATH environment variable ``` @@ -38,8 +39,8 @@ Docker for Android SDK 31 with preinstalled build tools and emulator image - Non-interactive way ```bash # check installed packages - $ docker run -it --rm androidsdk/android-31:latest sdkmanager --list + $ docker run -it --rm juanmi/android-sdk-docker:latest sdkmanager --list # list existing emulators - $ docker run -it --rm androidsdk/android-31:latest avdmanager list avd + $ docker run -it --rm juanmi/android-sdk-docker:latest avdmanager list avd # You can also run other Android platform tools, which are all added to the PATH environment variable ``` \ No newline at end of file diff --git a/tools/android-env.sh b/tools/android-env.sh index 34ceebe..7ed5fb0 100644 --- a/tools/android-env.sh +++ b/tools/android-env.sh @@ -8,7 +8,7 @@ export ANDROID_SDK=${ANDROID_HOME} export PATH=${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin export PATH=${PATH}:${ANDROID_HOME}/cmdline-tools/tools/bin export PATH=${PATH}:${ANDROID_HOME}/tools/bin -export PATH=${PATH}:${ANDROID_HOME}/build-tools/32.0.0 +export PATH=${PATH}:${ANDROID_HOME}/build-tools/33.0.0 export PATH=${PATH}:${ANDROID_HOME}/platform-tools export PATH=${PATH}:${ANDROID_HOME}/emulator export PATH=${PATH}:${ANDROID_HOME}/bin diff --git a/tools/android-wait-for-emulator.sh b/tools/android-wait-for-emulator.sh index 0219687..ec44e2c 100755 --- a/tools/android-wait-for-emulator.sh +++ b/tools/android-wait-for-emulator.sh @@ -16,7 +16,7 @@ until [[ "${bootcomplete}" =~ "1" ]]; do if [[ ${failcounter} -gt ${maxfail} ]]; then echo "Timeout ($timeout seconds) reached; failed to start emulator" while pkill -9 "emulator" >/dev/null 2>&1; do - echo "Killing emulator proces...." + echo "Killing emulator process...." pgrep "emulator" done echo "Process terminated"