1

我安装了最新的 Android Studio 并开始使用它。我创建了一个新的导航栏项目并将一个网格视图放入其中。然后,当我尝试构建并运行它时,我得到了这个非常烦人的 AAPT2 错误,请参阅日志了解详细信息。

我已经为这句话找到了几个“修复”

android.enableAapt2 = false

如果我理解正确,那实际上并不能解决问题,而只是将建筑物恢复为 aapt,对吗?而且因为从现在开始 AAPT2 将成为真正的基地建设者,我想坚持下去。

那么我该如何实际解决这个问题呢?首先,错误指向的日志是什么以及在哪里?其次,构建实际上出了什么问题?即使我只是初始化一个全新的 Android Studio 示例项目,我也会收到此错误。



编辑:gradlew clean assembleDebug在 Android Studio 终端中运行命令,然后得到这个非常长的输出。我把它剪在这里,因为它在重复同样的模式:

C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-xxhdpi-v4\abc_ic_star_black_48dp.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-mdpi-v4\abc_list_pressed_holo_light.9.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-xxxhdpi-v4\abc_ic_menu_selectall_mtrl_alpha.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-mdpi-v4\abc_ab_share_pack_mtrl_alpha.9.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-hdpi-v4\abc_scrubber_primary_mtrl_alpha.9.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-hdpi-v4\abc_textfield_activated_mtrl_alpha.9.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\design-27.1.1.aar\ccb9f9993808b605fecf0f43596e26e5\res\layout\design_navigation_menu.xml: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-hdpi-v4\abc_list_pressed_holo_light.9.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-xxhdpi-v4\abc_btn_switch_to_on_mtrl_00001.9.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-xxxhdpi-v4\abc_ic_star_black_36dp.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-hdpi-v4\abc_ab_share_pack_mtrl_alpha.9.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\support-compat-27.1.1.aar\caef404a17c5959b4adfcdd5b4226763\res\drawable-xhdpi-v4\notification_bg_normal_pressed.9.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\color-v23\abc_color_highlight_material.xml: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-xhdpi-v4\abc_list_pressed_holo_light.9.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-mdpi-v4\abc_switch_track_mtrl_alpha.9.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-xxhdpi-v4\abc_ic_star_half_black_48dp.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\support-compat-27.1.1.aar\caef404a17c5959b4adfcdd5b4226763\res\drawable-xhdpi-v4\notification_bg_low_pressed.9.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-hdpi-v4\abc_btn_check_to_on_mtrl_015.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-hdpi-v4\abc_btn_check_to_on_mtrl_000.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-hdpi-v4\abc_list_focused_holo.9.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-mdpi-v4\abc_ic_star_half_black_36dp.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\anim\abc_grow_fade_in_from_bottom.xml: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\ff82df9d8c1253200bf8902d44d783bd\res\drawable-hdpi-v4\abc_text_select_handle_right_mtrl_dark.png: error: file not found.
C:\Users\M?tz\.gradle\caches\transforms-1\files-1.1\design-27.1.1.aar\ccb9f9993808b605fecf0f43596e26e5\res\layout\design_layout_snackbar.xml: error: file not found.

这里的问题是,我假设我在 Windows 中的用户名中有非 ASCII 字符。尽管我已经指出 Android Studio 使用与 C:\Users\\ 下的任何文件夹不同的文件夹,但 gradle 仍然需要在那里做一些事情,并且显然不喜欢我用户名中的 'ä' 字母。

如果是这种情况,那么我需要以某种方式告诉 gradle 也使用那些其他文件夹或更改我在 Windows 中的用户名。我尝试了后者,但只设法更改了可见名称,而不是在 Windows 和文件夹结构中实际使用的底层名称。



Edit2:如果不重新安装整个系统,就不可能重命名 Windows 用户文件夹,这对我来说不是一个选择。那么有没有办法改变gradle正在使用的文件夹?

4

1 回答 1

2

在这种情况下,问题是我的 Windows 用户名中有非 ASCII 字符,因此在我的用户文件夹中,gradle 被设置为使用该用户文件夹下的文件夹。您可以在 Windows 中更改可见的用户名,但如果不重新安装,则无法从用户文件夹更改用户名。

幸运的是,您可以从 Android Studio 设置更改 gradle 正在使用的文件夹。

首先.gradle在文件系统的某个地方创建一个文件夹,其中没有那些非 ASCII 字符。(我选择使用C:\android-sdk\.gradle

打开File -> Settings -> Gradle

在那里您可以选择 Gradle 正在使用的“服务目录路径”。将其更改为您创建的文件夹,此问题应该得到解决。


笔记!我在构建 react-native android 应用程序时也遇到了同样的问题,所以如果你来到这里,因为你也遇到了与 RN 相同的 AAPT2 错误,请尝试从你的 RN 项目的 gradle 文件中更改 gradle 文件夹。目前我不知道该怎么做,这也是另一个问题和话题。

于 2018-05-29T16:21:29.970 回答