Android Aapt2InternalException编译中

时间:2019-06-02 11:15:53

标签: android command-line android-gradle android-sdk-tools

Android sdk安装步骤:

wget -q https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip -O android-sdk-tools.zip \
 && unzip -q android-sdk-tools.zip -d ${ANDROID_HOME} \
 && rm android-sdk-tools.zip
yes | sdkmanager --licenses
export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools

从github克隆一个android项目。干净的任务效果很好。

$git clone and-repo-url
$cd and-repo && ./gradlew clean

还没有平台和构建工具。

$ls /opt/android-sdk-linux
licenses  tools

构建apk失败:

$./gradlew  :app:assembleDebug 

此任务将安装构建工具和平台

$ls /opt/android-sdk-linux
build-tools     licenses        platform-tools  platforms       tools

$ls /opt/android-sdk-linux/build-tools/28.0.2/
NOTICE.txt                  arm-linux-androideabi-ld    i686-linux-android-ld       mainDexClassesNoAapt.rules  split-select
aapt                        bcc_compat                  lib                         mipsel-linux-android-ld     x86_64-linux-android-ld
aapt2                       core-lambda-stubs.jar       lib64                       package.xml                 zipalign
aarch64-linux-android-ld    d8                          llvm-rs-cc                  renderscript
aidl                        dexdump                     mainDexClasses              runtime.properties
apksigner                   dx                          mainDexClasses.rules        source.properties

错误消息在这里:

  
      
  • 出了什么问题:   任务':app:mergeDebugResources'的执行失败。   java.util.concurrent.ExecutionException:com.android.builder.internal.aapt.v2.Aapt2InternalException:AAPT2 aapt2-3.2.0-4818971-linux守护程序#0:守护程序启动失败   通常情况下不应发生这种情况,如果确实如此,请提出问题。
  •   

1 个答案:

答案 0 :(得分:0)

我已按照以下步骤在linux机器上安装了android sdk。 从“仅命令行工具”部分的链接“ https://developer.android.com/studio”下载android sdk。

sdkmanager位于android_sdk / tools / bin /中。使用sdkmanager下载其他软件包。创建一个包名称“ SDK_26”

sdkmanager "build-tools;26.0.3"
sdkmanager "platforms;android-26"
sdkmanager "platform-tools"
sdkmanager "ndk-bundle"

[从位置“ https://developer.android.com/ndk/downloads/”下载linux 64位ndk,并将其重命名为“ ndk-bundle”

并将应用编译为

export ANDROID_HOME=/home/desktop/android/SDK_26
export JAVA_HOME=/sw/licensed/sun/jdk/1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
chmod 777 gradlew
./gradlew
./gradlew assembleRelease