【问题标题】:Android Aapt2InternalException in compilation编译中的Android Aapt2InternalException
【发布时间】:2019-10-18 05:59:38
【问题描述】:

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:守护进程启动失败 这在正常情况下不应该发生,如果发生请提出问题。

【问题讨论】:

  • 运行这个命令'./gradlew --no-daemon assembleDebug'
  • @RanjanKumar 同样的问题:/ > java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2InternalException: AAPT2 aapt2-3.2.1-4818971-linux Daemon #0 : 守护进程启动失败 这在正常情况下不应该发生,如果发生请提出问题。
  • 检查 gradle.properties 文件是否有 'org.gradle.jvmargs=-Xmx1536m'
  • @RanjanKumar 该应用程序构建在 mac 或一些 linux 机器上。我认为缺少 sdk 或 jdk

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


【解决方案1】:

我已经按照以下步骤在 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

【讨论】:

    猜你喜欢
    • 2020-03-29
    • 1970-01-01
    • 2019-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    相关资源
    最近更新 更多