gpt4 book ai didi

Android 在 docker 容器中构建

转载 作者:行者123 更新时间:2023-12-02 18:18:36 27 4
gpt4 key购买 nike

我尝试在 docker 容器上运行 android build。

我的 dockerfile 的内容在这里:

FROM openjdk:8-jre-alpine

RUN mkdir -p /myapp
WORKDIR /myapp
COPY . .

RUN apk add --update nodejs nodejs-npm
RUN apk add git
RUN apk add zip
RUN apk --no-cache add curl

我创建了一个 docker 镜像并运行它。我在 docker 终端上运行以下命令。
wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
unzip -q sdk-tools-linux-4333796.zip -d Android-sdk
export ANDROID_HOME=/path-to-sdk/Android-sdk
export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools
yes | sdkmanager --licenses
cd MyApplication && chmod +x gradlew && ./gradlew :app:assembledebug

MyApplication 是 Android Studio 的默认空 Activity 项目。

错误日志在这里:

/gradlew :app:assembledebug

Task :app:preBuild UP-TO-DATE Task :app:preDebugBuild UP-TO-DATE Task :app:compileDebugAidl NO-SOURCE Task :app:compileDebugRenderscript UP-TO-DATE Task :app:checkDebugManifest UP-TO-DATE Task :app:generateDebugBuildConfig UP-TO-DATE Task :app:prepareLintJar UP-TO-DATE Task :app:mainApkListPersistenceDebug UP-TO-DATE Task :app:generateDebugResValues UP-TO-DATE Task :app:generateDebugResources UP-TO-DATE Task :app:mergeDebugResources FAILED



FAILURE:构建失败并出现异常。


  • 出了什么问题:任务“:app:mergeDebugResources”执行失败。

    java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2InternalException: AAPT2 aapt2-3.3.0-alpha12-5013011-linux Daemon #0: Daemon startup failed
    This should not happen under normal circumstances, please file an issue if it does.

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。
  • https://help.gradle.org 获得更多帮助


  • 编辑

    这个项目在我的 mac 笔记本电脑上运行良好。本地机器构建没问题,但它不适用于 docker 容器。

    编辑

    我跑 --stacktrace范围。未找到 aapt2

    Caused by: java.io.IOException: Cannot run program "/root/.gradle/caches/transforms-1/files-1.1/aapt2-3.2.0-4818971-linux.jar/6f8af69a2b8f839763b018ee3b5c1d41/aapt2-3.2.0-4818971-linux/aapt2": error=2, No such file or directory at com.android.builder.internal.aapt.v2.Aapt2DaemonImpl.startProcess(Aapt2DaemonImpl.kt:80) at com.android.builder.internal.aapt.v2.Aapt2Daemon.checkStarted(Aapt2Daemon.kt:53) ... 8 more Caused by: java.io.IOException: error=2, No such file or directory ... 10 more

    最佳答案

    openjdk:8-jre-alpine 中遇到同样的问题 docker 形象。

    当我使用 oracle/openjdk:8 时问题已解决作为基础图像

    像这样更改您的 Dockerfile,然后重试:

    FROM oracle/openjdk:8
    RUN mkdir -p /myapp
    WORKDIR /myapp
    COPY . .

    RUN yum install -y nodejs nodejs-npm
    RUN yum install -y git zip curl

    关于Android 在 docker 容器中构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59499505/

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