Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker找不到Android SDK和NDK目录_Android_Docker - Fatal编程技术网

Docker找不到Android SDK和NDK目录

Docker找不到Android SDK和NDK目录,android,docker,Android,Docker,我创建了一个docker容器,以便在其上运行gradle任务。 我正在下载里面的sdk,但当我从外面运行任务时,它说找不到sdk文件夹,因为它获取的路径是我在项目的local.properties文件中的路径。指向我的机器sdk文件夹。如何在docker映像中指定sdk文件夹?谢谢 Docker映像生成文件: FROM openjdk:8 ENV SDK_URL="https://dl.google.com/android/repository/sdk-tools-linux-3859397.

我创建了一个docker容器,以便在其上运行gradle任务。 我正在下载里面的sdk,但当我从外面运行任务时,它说找不到sdk文件夹,因为它获取的路径是我在项目的local.properties文件中的路径。指向我的机器sdk文件夹。如何在docker映像中指定sdk文件夹?谢谢

Docker映像生成文件:

FROM openjdk:8

ENV SDK_URL="https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip" \
    ANDROID_HOME="/usr/local/android-sdk" \
    ANDROID_NDK_HOME="/usr/local/android-sdk/ndk-bundle" \
    ANDROID_VERSION=26 \
    ANDROID_BUILD_TOOLS_VERSION=26.0.2

# Download Android SDK
RUN mkdir "$ANDROID_HOME" .android \
    && cd "$ANDROID_HOME" \
    && curl -o sdk.zip $SDK_URL \
    && unzip sdk.zip \
    && rm sdk.zip \
    && yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses

# add to PATH
ENV PATH ${PATH}:${ANDROID_HOME}

ENV ANDROID_NDK_HOME /usr/local/android-ndk
ENV ANDROID_NDK_VERSION r19
ENV NDK_URL="https://dl.google.com/android/repository/android-ndk-${ANDROID_NDK_VERSION}-linux-x86_64.zip"

# Download Android NDK
RUN mkdir "$ANDROID_NDK_HOME" \
    && cd "$ANDROID_NDK_HOME" \
    && curl -o ndk.zip $NDK_URL \
    && unzip ndk.zip \
    && rm ndk.zip

# add to PATH
ENV PATH ${PATH}:${ANDROID_NDK_HOME}

# Install Android Build Tool and Libraries
RUN $ANDROID_HOME/tools/bin/sdkmanager --update
RUN $ANDROID_HOME/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
    "platforms;android-${ANDROID_VERSION}" \
    "platform-tools"

RUN mkdir /application
WORKDIR /application
以下是我运行任务的方式:

docker run -it --rm -v "$PWD":/application packsdkandroiddocker.image sh -c "$@" ./gradlew clean
这就是我得到的错误:

NDK缺少一个“平台”目录。如果您正在使用NDK,请验证 ndk.dir被设置为有效的ndk目录。它当前设置为 /Users/adalpari/Library/Android/sdk/ndk包。如果您不使用 NDK,从ANDROID\u NDK\u HOME或local.properties中取消设置NDK变量 删除此警告

失败:生成失败,出现异常

  • 错误:配置项目“:app”时出现问题。 SDK目录“/Users/adalpari/Library/Android/SDK”不存在

我认为您需要从根文件夹中删除local.properties文件,因为SDK将在本地搜索哪个容器无法访问。

我认为您需要从根文件夹中删除local.properties文件,因为SDK将在本地搜索哪个容器无法访问