Исправлена ​​ошибка AAPT2 в Android Studio с не-ASCII символами в имени пользователя Windows

Я установил последнюю версию Android Studio и начал играть вокруг нее. Я создал новый проект панели навигации и поместил в него сетку. Затем, когда я пытаюсь собрать и запустить его, я получаю эту действительно досадную ошибку AAPT2, подробности смотрите в журналах.

Я нашел несколько "исправлений" для этого высказывания, чтобы установить

android.enableAapt2 = false

Если я правильно понял, это на самом деле не решает проблему, а просто возвращает здание обратно в состояние готовности, я прав? И поскольку AAPT2 с этого момента станет настоящим базовым компоновщиком, я бы хотел придерживаться его.

Так как же мне исправить эту проблему? Во-первых, на какие журналы указывает ошибка? И во-вторых, что на самом деле не так со сборкой? Я получаю эту ошибку даже, если я просто инициализирую новый пример проекта Android Studio.



Изменить: Запустите gradlew clean assembleDebug команда в Android Studio Terminal, а затем получил этот безумно длинный вывод. Я обрезал это здесь, потому что это повторяет тот же самый образец:

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.

Проблема здесь, я предполагаю, что у меня есть не-ASCII символы в моем имени пользователя в Windows. Несмотря на то, что я указывал, что Android Studio использует другие папки, чем что-либо в C:\Users\\, gradle все равно нужно что-то там делать, и ему явно не нравится буква "ä" в моем имени пользователя.

Если это так, то мне нужно как-то сказать Gradle, чтобы использовать эти другие папки или изменить свое имя пользователя в Windows. Я попробовал последнее, но мне удалось изменить только видимое имя, а не основное имя, которое фактически используется в Windows и в структуре папок.



Edit2: переименование папки пользователя Windows невозможно без переустановки всей системы, и на этот раз это не вариант для меня. Так есть ли способ изменить папку Gradle использует?

1 ответ

Решение

Проблема в этом случае заключалась в том, что в моем имени пользователя Windows были символы, отличные от ASCII, и, таким образом, в моей пользовательской папке и Gradle было установлено использование папки в этой пользовательской папке. Вы можете изменить свое видимое имя пользователя в Windows, но вы не можете изменить свое имя пользователя из папки пользователя без переустановки.

К счастью, вы можете изменить используемую папку в настройках Android Studio.

Сначала сделайте .gradle папка где-нибудь в вашей файловой системе, где у вас нет этих не-ASCII символов. (Я решил использовать C:\android-sdk\.gradle)

открыто File -> Settings -> Gradle

и там вы можете выбрать "путь к каталогу службы", который использует Gradle. Измените это на папку, которую вы создали, и эта проблема должна быть решена.


НОТА! Я сталкивался с той же проблемой при создании приложений для Android-реагирующих приложений, поэтому, если вы пришли сюда, потому что вы получили ту же ошибку AAPT2 и с RN, попробуйте изменить папку gradle из файлов gradle вашего проекта RN. На данный момент я не знаю, как это сделать, и это тоже другой вопрос и тема.

Другие вопросы по тегам