2017-01-10 2 views
2

Я работаю над созданием простого тестового проекта, который позволяет мне управлять сервисом с помощью AlarmManager. Я как-то удалось создать новый вещательный приемник с именем +.java в моей service папке, так что теперь Android Studio генерирует этот недопустимый блок кода в AndroidManifest:Android Studio Создает код неисправности

<receiver 
     android:name=".service.+" 
     android:enabled="true" 
     android:exported="true" /> 

, который генерирует ошибку

Error:(32) Tag <receiver> attribute name has invalid character '+'. 

Когда я удаляю блок и перестраиваю, Android Studio восстанавливает блок, и ошибка повторяется. Поскольку это небольшой тестовый проект, это не огромная проблема, но что, если это произошло в более крупном проекте, где я не могу просто уничтожить весь каталог?

Мой вопрос в том, как и где я могу настроить, какие блоки кода Android Studio генерируют, чтобы разрешить такие странные проблемы, как этот?

+4

«Когда я удалить блокировать и перестраивать, Android Studio восстанавливает блок, и ошибка повторяется »- вы можете редактировать неправильный файл. Когда Android Studio встречает такую ​​ошибку в манифесте, она обычно открывает сгенерированный манифест, а не ваш оригинальный манифест, из которого возникает проблема. – CommonsWare

+0

У вас недействителен кеш и проверьте это? –

+0

@CommonsWare Вы абсолютно правы! Не стесняйтесь перефразировать свое предложение и опубликовать его в качестве ответа, чтобы я мог его принять, таким образом вы получаете кредит. –

ответ

3

Существует a long-standing issue in Android Studio, где IDE открывает неправильное издание файла при возникновении ошибки. В случае манифеста Android Studio имеет тенденцию открывать манифест, генерируемый кодом, из процесса слияния манифеста, а не фактический файл манифеста, который был источником ошибки. В результате неосторожные (или осторожные, которые не спят) будут редактировать сгенерированный манифест ... который затем восстанавливается и сдувает редактирование.

Обходной путь заключается в том, чтобы дважды проверить, какой файл он редактирует, когда ваши изменения, кажется, испаряются. Спокойный ночной сон помогает.

:: зевает ::

Согласно данному вопросу, то это должно быть исправлено в Android Studio 2.3, которая работает свой путь к доставке когда-то здесь в начале 2017.

Смежные вопросы