【发布时间】:2020-09-17 14:00:39
【问题描述】:
我的 Android Studio 工作正常,一切都很好,但在将 Android Studio 更新到最新版本并更新 gradle 后,我收到以下错误
能否提供解决方案,谢谢
任务:app:processDebugResources 失败
AGPBI: {"kind":"error","text":"Android 资源链接失败","sources":[{}],"original":"AAPT: 未知选项 '--proguard-minimal-keep-rules '.\n\naapt2 link [options] -o arg --manifest arg files...\n\nOptions:\n -o arg 输出路径。\n --manifest arg 要构建的 Android 清单的路径。\n -I arg 添加要链接的 Android APK。\n -A arg 要包含在 APK 中的资产目录。这些未处理。\n -R arg 要链接的编译单元,使用 overlay 语义。\n 最后一个冲突给定资源优先。\n --package-id arg 指定要用于此应用的包 ID。必须大于或等于\n 0x7f,并且不能与 --static 一起使用-lib 或 --shared-lib。\n --java arg 生成 R.java 的目录。\n --proguard arg 生成的 Proguard 规则的输出文件。\n --proguard-main-dex arg 的输出文件为主 dex 生成 Proguard 规则。\n --proguard-conditional-keep-rules 生成有条件的 Proguard 保留规则。\n --no-auto-version 禁用自动样式和布局 SDK 版本控制。\n --no-version-矢量 禁用矢量绘图的自动版本控制。仅在使用矢量可绘制支持库构建时使用此选项。\n --no-version-transitions 禁用过渡资源的自动版本控制。仅在使用过渡支持库构建时\n 使用此选项。\n --no-resource-deduping 禁用对具有\n 兼容配置中相同值的资源的自动重复数据删除。\n --enable-sparse-encoding 这会减小 APK 大小资源检索性能的成本。\n -x 指定使用包标识符 0x01 的旧标志。\n -z 需要对标记为“建议”的字符串进行本地化。\n -c arg 逗号分隔的要包含的配置列表。默认\n 是所有配置。\n --preferred-density arg 选择最接近的匹配密度并去除所有其他配置。\n --product arg 要保留的产品名称的逗号分隔列表\n --output-to-dir将 APK 内容输出到 -o 指定的目录。\n --no-xml-namespaces 从 AndroidManifest.xml 和 res/* 中的 XML 二进制文件中删除 XML 命名空间前缀和 URI 信息。\n --min-sdk- version arg 用于 AndroidManifest.xml 的默认最低 SDK 版本。\n --target-sdk-version arg 用于 AndroidManifest.xml 的默认目标 SDK 版本。\n --version-code arg 要注入的版本代码(整数) AndroidManifest.xml(如果没有)\n存在。\n --version-code-major arg 主要版本代码(整数)如果不存在,则注入 AndroidManifest.xml。\n --version-name arg 要注入 AndroidManifest.xml 的版本名称,如果不存在。\n --replace-version 如果指定了--version-code 和/或--version-name,这些\n 值将替换清单中已有的任何值。 \n 默认情况下,如果清单已定义\n 这些属性,则不会更改任何内容。\n --compile-sdk-version-code arg 如果不存在,则注入 AndroidManifest.xml 的版本代码(整数)。\n n --compile-sdk-version-name arg 如果不存在,则注入 AndroidManifest.xml 的版本名称。\n --shared-lib 生成共享 Android 运行时库。\n --static-lib 生成静态 Android库。\n --proto-format 生成 Protobuf 格式的编译资源。\n 适合作为打包工具的输入,用于生成 App Bundle。\n --no-static-lib-packages 合并应用程序包下的所有库资源e.\n --non-final-ids 生成没有 final 修饰符的 R.java。当指定\n --static-lib 时,这是隐含的。\n --stable-ids arg 包含名称到 ID 映射列表的文件。\n --emit-ids arg 在给定路径发出带有列表的文件名称到 ID 的映射,\n 适合与 --stable-ids 一起使用。\n --private-symbols arg 为私有符号生成 R.java 时使用的包名称。\n 如果未指定,公共和私有符号将使用应用程序的\n 包名称。\n --custom-package arg 生成 R.java 的自定义 Java 包。\n --extra-packages arg 生成相同的 R.java,但包名称不同。\n - -add-javadoc-annotation arg 添加 JavaDoc 注释到所有生成的 Java 类。\n --output-text-symbols arg 在指定文件夹中生成一个包含 R 类资源符号的文本文件。\n --allow-reserved-package-id 允许使用保留的包 ID。这应该用于\n 带有 pre-O min-sdk 的包\n \n --auto-add-overlay 允许在不带标签的叠加层中添加新资源。\n --rename-manifest-package arg 重命名 AndroidManifest.xml 中的包。\n --rename-instrumentation-target-package arg 更改检测目标包的名称。与 --rename-manifest-package 结合使用时最有用\n。\n -0 arg 不压缩的文件扩展名。\n --no-compress 不压缩任何资源。\n --warn-manifest-validation将清单验证错误视为警告。\n --split arg 将与一组配置匹配的资源拆分为拆分 APK。\n 语法:path/to/output.apk:[,[...]]。\n 开启Windows,使用分号 ';'而是分隔符。\n -v 启用详细日志记录。\n --debug-mode 将 android:debuggable=\"true\" 插入到清单的应用程序节点中,\n 使应用程序即使在生产设备上也可调试。\n --strict-visibility 不允许覆盖具有不同可见性级别。\n -h 显示此帮助菜单\n\n ","tool":"AAPT"}
AAPT:未知选项“--proguard-minimal-keep-rules”。
aapt2 链接 [选项] -o arg --manifest arg 文件...
选项:
-o arg 输出路径。
--manifest arg 要构建的 Android 清单的路径。
-I arg 添加要链接的 Android APK。
-A arg 要包含在 APK 中的资产目录。这些是未经处理的。
-R arg 要链接的编译单元,使用overlay 语义。
给定的最后一个冲突资源优先。
--package-id arg 指定要用于此应用程序的包 ID。必须大于或等于
0x7f 并且不能与 --static-lib 或 --shared-lib 一起使用。
--java arg 生成 R.java 的目录。
--proguard arg 生成的 Proguard 规则的输出文件。
--proguard-main-dex arg 为 main dex 生成的 Proguard 规则的输出文件。
--proguard-conditional-keep-rules 生成有条件的 Proguard 保留规则。
--no-auto-version 禁用自动样式和布局 SDK 版本控制。
--no-version-vectors 禁用矢量绘图的自动版本控制。只用这个
使用矢量可绘制支持库构建时。
--no-version-transitions 禁用转换资源的自动版本控制。只用这个
使用过渡支持库构建时。
--no-resource-deduping 禁用资源的自动重复数据删除
兼容配置中的相同值。
--enable-sparse-encoding 这会以资源检索性能为代价减小 APK 大小。
-x 指定使用包标识符 0x01 的旧标志。
-z 要求对标记为“建议”的字符串进行本地化。
-c arg 逗号分隔的要包含的配置列表。默认
是所有配置。
--preferred-density arg 选择最接近的匹配密度并剔除所有其他密度。
--product arg 要保留的产品名称的逗号分隔列表
--output-to-dir 将 APK 内容输出到 -o 指定的目录。
--no-xml-namespaces 删除 XML 命名空间前缀和 URI 信息
来自 res/* 中的 AndroidManifest.xml 和 XML 二进制文件。
--min-sdk-version arg 用于 AndroidManifest.xml 的默认最低 SDK 版本。
--target-sdk-version arg 用于 AndroidManifest.xml 的默认目标 SDK 版本。
--version-code arg 如果没有,则注入 AndroidManifest.xml 的版本代码(整数)
展示。
--version-code-major arg 如果没有,则注入 AndroidManifest.xml 的版本代码主要(整数)
展示。
--version-name arg 如果不存在,则注入 AndroidManifest.xml 的版本名称。
--replace-version 如果指定了 --version-code 和/或 --version-name,这些
values 将替换清单中已有的任何值。经过
默认情况下,如果清单已经定义,则不会更改任何内容
这些属性。
--compile-sdk-version-code arg 版本代码(整数)注入 AndroidManifest.xml 如果没有
展示。
--compile-sdk-version-name arg 如果不存在,则注入 AndroidManifest.xml 的版本名称。
--shared-lib 生成一个共享的 Android 运行时库。
--static-lib 生成静态 Android 库。
--proto-format 生成 Protobuf 格式的编译资源。
适合作为用于生成 App Bundle 的捆绑工具的输入。
--no-static-lib-packages 合并应用程序包下的所有库资源。
--non-final-ids 生成没有 final 修饰符的 R.java。这暗示当
--static-lib 已指定。
--stable-ids arg 包含名称到 ID 映射列表的文件。
--emit-ids arg 在给定路径发出一个文件,其中包含名称到 ID 映射的列表,
适合与 --stable-ids 一起使用。
--private-symbols arg 为私有符号生成 R.java 时使用的包名称。
如果未指定,公共和私有符号将使用应用程序的
包裹名字。
--custom-package arg 生成 R.java 的自定义 Java 包。
--extra-packages arg 生成相同的 R.java 但具有不同的包名称。
--add-javadoc-annotation arg 将 JavaDoc 注释添加到所有生成的 Java 类。
--output-text-symbols arg 生成一个文本文件,其中包含 R 类的资源符号
指定的文件夹。
--allow-reserved-package-id 允许使用保留的包 ID。这应该用于
带有 pre-O min-sdk 的软件包
--auto-add-overlay 允许在叠加层中添加新资源,而无需 标签。 --rename-manifest-package arg 重命名 AndroidManifest.xml 中的包。 --rename-instrumentation-target-package arg 更改检测目标包的名称。最有用 与 --rename-manifest-package 结合使用时。 -0 arg 不压缩的文件扩展名。 --no-compress 不压缩任何资源。 --warn-manifest-validation 将清单验证错误视为警告。 --split arg 将与一组配置匹配的资源拆分为拆分 APK。 语法:path/to/output.apk:[,[...]]。 在 Windows 上,使用分号 ';'而是分隔符。 -v 启用详细日志记录。 --debug-mode 将 android:debuggable="true" 插入到应用程序节点中 manifest,使应用程序即使在生产设备上也可调试。 --strict-visibility 不允许具有不同可见性级别的覆盖。 -h 显示此帮助菜单
【问题讨论】:
标签: android android-studio gradle build.gradle build-error