问题标签 [aapt2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
588 浏览

android - android或flutter应用程序中的AndroidManifest错误

每当我运行 flutter run -vi 时,aapt dump xmltree 都会出错。所以现在我单独运行 aapt dump 命令,所以我在无法打开的 AndroidManifest.xml 中得到错误。

库曼德

输出

0 投票
1 回答
2104 浏览

android - com.android.builder.internal.aapt.v2.Aapt2Exception:Android 资源链接失败:错误:链接引用失败

我遇到了来自 aapt2 的以下错误:

我的环境如下:

  • 安卓工作室 3.4.1
  • Gradle 插件:3.4.1
  • 苹果系统
  • build.gradle如下:

错误如下:

关于如何解决这个问题的任何想法?

0 投票
1 回答
480 浏览

android - 如何强制为 Android 库 (AAR) 生成 R.java

我正在构建一个使用 R 类生成一些额外代码的注释处理器。这适用于 Android 应用程序

但是,对于 Android 库 (AAR),不再生成 R.java 类。AFAIK,android 库插件生成一个 R.txt 文件,然后依赖于该库的 Android 应用程序将该 R.txt 信息编译到最终的 R.java 类中。

我的问题是,有没有一种方法可以强制 AAPT 为 AAR 创建 R.java 类,以便我的注释处理器可以运行?

0 投票
2 回答
2551 浏览

android-studio - 更新到 Android Studio 3.5(和 Gradle 3.5.0)后 AAPT2 Gradle 构建错误

已将 Studio 更新到 3.5(从 3.1)。Gradle 升级到 3.5.0(之前是项目中的 3.1.2)。

构建时出现错误:“不支持的操作系统。” (在更新项目建设之前没有错误)

系统是“Linux Mint 4.4.0-112-generic #135~14.04.1-Ubuntu SMP Tue Jan 23 20:41:48 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux”

我试过:重新下载SDK,重启系统,安装 .....同样的错误

UPD:通过降级 Gradle 修复,但无论如何有新版本的解决方案吗?

0 投票
1 回答
549 浏览

aapt2 - aapt2 链接失败:找不到 compileSdkVersion

尝试使用 aapt2 而不是 aapt。编译似乎没问题,但我遇到了一个问题:

这是清单,您可以看到明确定义的属性 android:compileSdkVersion:

怎么会这样?

编辑:在 AndroidManifest.xml 上使用了 xmllint。没运气。然后我刚刚从清单中删除了 android:compileSdkVersion 。它链接成功。我很困惑。

0 投票
0 回答
199 浏览

android - aapt2 的 res-auto 和 lib-auto 有什么区别,官方文档在哪里?

-- 编辑 --
我知道 xmlns 是什么谢谢:)
-- 结束编辑 --

我找不到关于 res-auto 和 lib-auto android 命名空间的任何文档。这些出现在 xml 布局文件的顶部:

我注意到 aapt2 需要使用 lib-auto 而不是 res-auto。但不知道为什么。

xmlns:app="http://schemas.android.com/apk/lib-auto"

如果您没有任何 xml 布局文件,并且您仍然需要包含库中的所有资源,该怎么办。lib-auto 的“代码”版本是什么?

0 投票
2 回答
1216 浏览

java - 更新到 Androidx,我无法在发布中生成 APK:AAPT2 进程意外退出

Gradle 版本:5.6.2。

安卓插件版本:3.5.0。

编译 SDK 版本:28。

构建工具版本:28.0.3。

SDK 工具版本:

我有一个带有 Android 插件版本 3.2.1 和 Gradle 版本 4.6 的功能版本应用程序,但要应用新功能,我们必须迁移到 androidx。

执行迁移并更新依赖项后,一切正常,我们在模拟器上运行并在调试版本上测试手机。

在我们尝试生成发布 APK/捆绑包时,由于 AAPT2 链接中的错误而失败。(AAPT2 aapt2-3.5.0-5435860-windows Daemon #0: Unexpected error during link,试图停止守护进程。这在正常情况下不应该发生,如果发生,请提出问题。)

APK 在禁用 minifyEnabled 选项时生成。

但是,我们不能在没有缩小的情况下分发 APK。

我们已经尝试了以下方法:

1 - 按照建议(在与 Android Gradle 插件 3.3.0 合并资源期间构建失败)执行 Android Gradle 插件 3.4.0 和 Gradle 版本 5.4.1 的降级,但错误仍然存​​在

2 - 我使用 AAPT2 页面 ( https://developer.android.com/studio/command-line/aapt2#compile )上的命令执行 AAPT2 命令来编译我的应用程序 res 文件夹中的媒体,以检查是否编译应用程序的资源时出现问题,但编译成功。

3 - 在 aaptOptions 中使用选项 cruncherEnabled = false 和 useNewCruncher = false

4 - 在 gradle.properties 中使用 android.enableAapt2 = false 选项,但它已被弃用

5 - 在我的 gradle 控制台中运行 assembleDebug 和 assembleRelease

项目构建.gradle

应用程序构建.gradle

gradle.properties

堆栈跟踪

0 投票
1 回答
743 浏览

android - org.gradle.api.GradleException:无法在 Android Studio 3.5.2 上读取路径和 java.nio.FileAccessDeniedException

请仔细阅读。这不是重复的。我花了无数个小时在互联网上寻找解决这个问题的方法。它从 android studio 3.3 开始。所以我将android studio更新到最新版本3.5.2,我将gradle更新到5.4.1版本和android gradle plugin到3.5.2,错误仍然存​​在。

当我单击同步项目时,它同步成功,但是当我想运行应用程序时,它会引发异常:任务':app:mergeDebugResources'的执行失败我使用--debug选项运行它,并使用--stacktrace来获取更多见解。

这是堆栈跟踪:

org.gradle.api.tasks.TaskExecutionException:任务':app:mergeDebugResources'的执行失败。在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:151) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:148) 在 org .gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:191) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:141) 在 org.gradle.api.internal.tasks .execution.ResolveBeforeExecutionStateTaskExecuter.execute(ResolveBeforeExecutionStateTaskExecuter.java:75) 在 org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:62) 在 org.gradle.api.internal.tasks.execution。

引起:java.nio.file.AccessDeniedException: C:\Users\Freeborn.gradle\caches\transforms-2\files-2.1\5bfb0b3279bf9321cb7d837f84317b2f\aapt2-3.5.2-5435860-windows ... 56 更多

从上面看,在最后一部分,有一个 java.nio.file.AccessDeniedException C;\users\freeborn.gradle\caches

我认为这可能是问题所在。我在资源管理器上打开文件夹,文件夹显示拒绝访问。我试过删除文件夹,还是不行。我重新启动了计算机,问题仍然存在。我无法删除文件夹,我无法更改文件夹的权限设置,它说我无权更改文件夹的权限设置,因此我无法声明所有权。

看来我是唯一有这个问题的人。

这是主要问题:

无法解析配置“:app:_internal_aapt2_binary”的所有文件。

无法转换工件 'aapt2-windows.jar (com.android.tools.build:aapt2:3.5.2-5435860)' 以匹配属性 {artifactType=_internal-android-aapt2-binary, org.gradle.usage=java-运行时罐子}。org.gradle.api.GradleException:无法读取路径“C:\Users\Freeborn.gradle\caches\transforms-2\files-2.1\5bfb0b3279bf9321cb7d837f84317b2f\aapt2-3.5.2-5435860-windows”。

我已经尝试了一切,现在我不知道该怎么办。如果我尝试降级 gradle 版本,它将暂时起作用,稍后问题将再次出现。

0 投票
1 回答
85 浏览

android - 将 gradle 升级到 3.5.2 后无法构建项目

我的项目在 上运行良好gradle 3.3.2,但是当我将其升级到 时gradle 3.5.2,项目构建失败。

这是错误:

这是我的项目build.gradle

gradle-wrapper.properties

如果还需要什么,请告诉我。谢谢你。

0 投票
2 回答
5136 浏览

android - Android 在 docker 容器中构建

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

我的 dockerfile 的内容在这里:

我创建了一个 docker 映像并运行它。我在 docker 终端上运行以下命令。

MyApplication 是 Android Studio 的默认空活动项目。

错误日志在这里:

/gradlew :app:assembledebug

任务 :app:preBuild 最新任务 :app:preDebugBuild 最新任务 :app:compileDebugAidl NO-SOURCE 任务 :app:compileDebugRenderscript 最新任务 :app:checkDebugManifest 最新任务 : app:generateDebugBuildConfig 最新任务 :app:prepareLintJar 最新任务 :app:mainApkListPersistenceDebug 最新任务 :app:generateDebugResValues 最新任务 :app:generateDebugResources 最新任务 :应用程序:合并调试资源失败

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
    这在正常情况下不应该发生,请如果确实如此,请提出问题。

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

  • 在https://help.gradle.org获得更多帮助

编辑

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

编辑

我运行--stacktrace参数。未找到 aapt2

引起:java.io.IOException:无法运行程序“/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, com.android.builder.internal.aapt.v2 的 com.android.builder.internal.aapt.v2.Aapt2DaemonImpl.startProcess(Aapt2DaemonImpl.kt:80) 没有这样的文件或目录.Aapt2Daemon.checkStarted(Aapt2Daemon.kt:53) ... 8 更多原因:java.io.IOException: error=2, No such file or directory ... 10 更多