#android #docker
#Android #docker
Вопрос:
У меня есть контейнер docker, целью которого является создание проекта Android NDK. Этот контейнер создается с помощью этого руководства http://ainoya.io/docker-android-walter . Вот файл Docker:
# based on https://registry.hub.docker.com/u/samtstern/android-sdk/dockerfile/ with openjdk-8
FROM java:8
MAINTAINER Lebedevsd <lebedevsd@gmail.com>
ENV DEBIAN_FRONTEND noninteractive
# Install dependencies
RUN dpkg --add-architecture i386 amp;amp;
apt-get update amp;amp;
apt-get install -yq libstdc 6:i386 zlib1g:i386 libncurses5:i386 --no-install-recommends amp;amp;
apt-get install zip amp;amp;
apt-get -y install --reinstall locales amp;amp;
apt-get clean
# Download and setup android NDK
ENV ANDROID_NDK_URL http://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip
RUN cd /usr/local amp;amp;
curl -L "${ANDROID_NDK_URL}" > file.zip amp;amp;
unzip -q file.zip amp;amp;
rm file.zip
ENV ANDROID_NDK_HOME /usr/local/android-ndk-r12b
ENV PATH ${ANDROID_NDK_HOME}/:$PATH
# Download and untar SDK
ENV ANDROID_SDK_URL http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
RUN curl -L "${ANDROID_SDK_URL}" | tar --no-same-owner -xz -C /usr/local
ENV ANDROID_HOME /usr/local/android-sdk-linux
ENV ANDROID_SDK /usr/local/android-sdk-linux
ENV PATH ${ANDROID_HOME}/tools:$ANDROID_HOME/platform-tools:$PATH
# Install Android SDK components
ONBUILD COPY android_sdk_components.env /android_sdk_components.env
ONBUILD RUN (while :; do echo 'y'; sleep 3; done) | android update sdk --no-ui --all --filter "$(cat /android_sdk_components.env)"
# Support Gradle
ENV TERM dumb
ENV JAVA_OPTS -Xms512m -Xmx768m
Вывод
: docker run -t -v $(pwd)/app:/project/app lebedevsd/android_sdk_build:последняя версия./gradlew clean assemblePRelease -PversionCode=24 -PversionName=0.0.24
docker: ответ об ошибке от демона: ошибка времени выполнения oci: exec: «./ gradlew»: stat ./gradlew: такого файла или каталога нет.
Ответ №1:
Проблема заключалась в том, что я монтировал неправильный каталог: $ (pwd) / app вместо $ (pwd).
правильный путь:
docker run -i -v $(pwd):/project -w /project lebedevsd/android_sdk_build:последняя версия ./gradlew clean