修复 Android Studio 中的 AAPT2 错误,其中 Windows 用户名中包含非 ASCII 字符
Fix AAPT2 ERROR in Android Studio with non-ASCII characters in Windows user name
我安装了最新的 Android Studio 并开始使用它。我创建了一个新的导航栏项目并将 gridview 放入其中。然后,当我尝试构建并 运行 它时,我遇到了这个非常烦人的 AAPT2 错误,请参阅日志了解详细信息。
我找到了几个"fixes"来设置这句话
android.enableAapt2 = false
如果我没理解错的话,那实际上并没有解决问题,只是将建筑物恢复为 aapt,对吗?因为从现在开始 AAPT2 将成为实际的基地建设者,我想坚持下去。
那么我该如何真正解决这个问题呢?
首先,错误指向的日志是什么以及在哪里?
其次,构建到底出了什么问题?如果我只是初始化一个全新的 Android Studio 示例项目,我什至会收到此错误。
编辑:
运行 Android Studio Terminal 中的 gradlew clean assembleDebug
命令,然后得到了这个异常长的输出。我把它剪在这里,因为它重复同样的模式:
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 和文件夹结构中实际使用的底层名称。
编辑2:
如果不重新安装整个系统,则无法重命名 windows 用户文件夹,这一次对我来说不是一个选项。那么有没有办法更改 gradle 正在使用的文件夹?
这种情况下的问题是我的 Windows 用户名中有非 ASCII 字符,因此在我的用户文件夹中,并且 gradle 被设置为使用该用户文件夹下的文件夹。您可以在 Windows 中更改您的可见用户名,但您无法在不重新安装的情况下从您的用户文件夹中更改您的用户名。
幸运的是,您可以从 Android Studio 设置中更改 gradle 正在使用的文件夹。
首先在文件系统中没有那些非 ASCII 字符的地方创建一个 .gradle
文件夹。 (我选择使用C:\android-sdk\.gradle
)
打开File -> Settings -> Gradle
然后您可以选择 Gradle 正在使用的 "Service directory path"。把这个改成你创建的文件夹,这个问题应该就解决了。
注意!
我在构建 react-native android 应用程序时也遇到了同样的问题,所以如果你来到这里,因为你也遇到了与 RN 相同的 AAPT2 错误,请尝试更改你的 gradle 文件夹RN 项目的 gradle 个文件。目前我不知道该怎么做,这也是另一个问题和主题。
我安装了最新的 Android Studio 并开始使用它。我创建了一个新的导航栏项目并将 gridview 放入其中。然后,当我尝试构建并 运行 它时,我遇到了这个非常烦人的 AAPT2 错误,请参阅日志了解详细信息。
我找到了几个"fixes"来设置这句话
android.enableAapt2 = false
如果我没理解错的话,那实际上并没有解决问题,只是将建筑物恢复为 aapt,对吗?因为从现在开始 AAPT2 将成为实际的基地建设者,我想坚持下去。
那么我该如何真正解决这个问题呢? 首先,错误指向的日志是什么以及在哪里? 其次,构建到底出了什么问题?如果我只是初始化一个全新的 Android Studio 示例项目,我什至会收到此错误。
编辑:
运行 Android Studio Terminal 中的 gradlew clean assembleDebug
命令,然后得到了这个异常长的输出。我把它剪在这里,因为它重复同样的模式:
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 和文件夹结构中实际使用的底层名称。
编辑2: 如果不重新安装整个系统,则无法重命名 windows 用户文件夹,这一次对我来说不是一个选项。那么有没有办法更改 gradle 正在使用的文件夹?
这种情况下的问题是我的 Windows 用户名中有非 ASCII 字符,因此在我的用户文件夹中,并且 gradle 被设置为使用该用户文件夹下的文件夹。您可以在 Windows 中更改您的可见用户名,但您无法在不重新安装的情况下从您的用户文件夹中更改您的用户名。
幸运的是,您可以从 Android Studio 设置中更改 gradle 正在使用的文件夹。
首先在文件系统中没有那些非 ASCII 字符的地方创建一个 .gradle
文件夹。 (我选择使用C:\android-sdk\.gradle
)
打开File -> Settings -> Gradle
然后您可以选择 Gradle 正在使用的 "Service directory path"。把这个改成你创建的文件夹,这个问题应该就解决了。
注意! 我在构建 react-native android 应用程序时也遇到了同样的问题,所以如果你来到这里,因为你也遇到了与 RN 相同的 AAPT2 错误,请尝试更改你的 gradle 文件夹RN 项目的 gradle 个文件。目前我不知道该怎么做,这也是另一个问题和主题。