错误的Android编译:“aapt2:错误= 2,没有这样的文件或目录”(Error on And

2019-11-05 03:00发布

获取构建服务器上下面的错误。

Download https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/3.2.0-beta05-4818971/aapt2-3.2.0-beta05-4818971-linux.jar

...

Caused by: java.io.IOException: Cannot run program "/root/.gradle/caches/transforms-1/files-1.1/aapt2-3.2.0-beta05-4818971-linux.jar/43bd0f91870a1f4f8e99e05eefb192e9/aapt2-3.2.0-beta05-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

全面构建日志

看着下载的罐子,看起来它是要找的文件是在JAR文件的根目录。 不知道为什么它试图找到它在43bd0f91870a1f4f8e99e05eefb192e9/aapt2-3.2.0-beta05-4818971-linux/

版本使用:

gradle-4.8-all.zip
classpath 'com.android.tools.build:gradle:3.2.0-beta05'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.51"

compileSdkVersion 28
buildToolsVersion '28.0.2'
minSdkVersion 23
targetSdkVersion 28

Answer 1:

为了得到AAPT工作(这个固定我与AVD以及问题)只需要运行这两个命令:

sudo apt-get install lib32stdc++6
sudo apt-get install lib32z1

它应该工作!



Answer 2:

在我的特定情况下它是在这使得安装较为麻烦的高山Linux发行版。

基本上需要安装此: https://github.com/sgerrand/alpine-pkg-glibc

码头工人代码:

RUN echo "Installing standard dependencies..." \
  && apk add --no-cache --update --virtual=.build-dependencies \
    ca-certificates \
    wget \
  # ---------------------------------------------
  && echo "Installing glibc..." \
  && wget https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub -O /etc/apk/keys/sgerrand.rsa.pub \
  && wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-${GLIBC_VERSION}.apk -O /tmp/glibc.apk \
  && wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-bin-${GLIBC_VERSION}.apk -O /tmp/glibc-bin.apk \
  && apk add --no-cache /tmp/glibc.apk /tmp/glibc-bin.apk


文章来源: Error on Android build: “aapt2: error=2, No such file or directory”