Android 开发 Dockerfile:为什么 Android SDK 管理器挂起?

Android Development Dockerfile: Why Does Android SDK Manager Hang?

Building Docker image 进行 Cordova 开发并uild to Android.

以下 Docker 文件设置了所有内容,但是 运行 使用 /android-sdk-linux/android 命令的任何内容都会导致整个 Container 冻结并且没有错误消息...甚至与 --no-ui!

类似地,当我尝试 build ( cordova build android ) 它无限挂在 Running command: /hello/platforms/android/cordova/build

FROM ubuntu:trusty
MAINTAINER Antman Jones
ENV DEBIAN_FRONTEND noninteractive
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
RUN sudo apt-get -y install curl
RUN sudo apt-get -y install software-properties-common

# Cordova is an NPM package 
RUN curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
RUN sudo apt-get install -y nodejs
RUN sudo apt-get install -y build-essential
RUN sudo npm install npm -g

# Install Java
RUN sudo dpkg --add-architecture i386
RUN sudo apt-get -y update
RUN sudo apt-get -y install libncurses5:i386 libstdc++6:i386 zlib1g:i386
RUN sudo apt-add-repository -y ppa:webupd8team/java
RUN sudo apt-get -y update
RUN echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections
RUN echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections
RUN sudo apt-get -y install oracle-java6-installer
ENV JAVA_HOME /usr/lib/jvm/java-6-oracle

# Install the Android SDK
RUN wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
RUN tar -xvf android-sdk_r24.4.1-linux.tgz
ENV ANDROID_HOME /android-sdk-linux
ENV PATH $PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
WORKDIR /android-sdk-linux/tools
RUN ./android udpate sdk --no-ui

# Install Cordova
RUN npm install -g cordova

有同样的问题,看起来 android 脚本在调用 archquery.jar 时挂起。我们通过用 "x86_64".

替换所有询问 archquery.jar 当前架构的行来解决这个问题