gpt4 book ai didi

android - Docker找不到Android SDK和NDK目录

转载 作者:行者123 更新时间:2023-12-02 19:59:04 24 4
gpt4 key购买 nike

我创建了一个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 is missing a "platforms" directory. If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to /Users/adalpari/Library/Android/sdk/ndk-bundle. If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.

FAILURE: Build failed with an exception.

  • What went wrong: A problem occurred configuring project ':app'. The SDK directory '/Users/adalpari/Library/Android/sdk' does not exist.

最佳答案

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

关于android - Docker找不到Android SDK和NDK目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55590542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com