AndroidStudio отключает "Ожидаемый ресурс строки типа"
Я только что пытался сгенерировать подписанный apk для одного из моих проектов (я уже делал это раньше), но (возможно, с момента обновления Android Studio) я получаю
Ошибка: ошибка: ожидаемый ресурс строки типа [ResourceType]
Это потому, что я использую Butterknife @BindString, который сгенерирован в нечто подобное
target.settings = res.getString(2131230792);
Как я могу сделать студию, чтобы не обнаружить это как ошибку? Я попытался выполнить поиск в настройках, но безуспешно.
Ответы
Ответ 1
Сообщается в проекте GitHub.
Он будет исправлен в следующей версии ButterKnife.
Обходной путь показан там и должен добавить файл lint.xml
в модуле app
со следующим содержимым, чтобы игнорировать это ошибки в классах *$$ViewBinder
(те, которые генерирует ButterKnife):
<issue id="ResourceType">
<!-- Remove this when this is fixed: https://github.com/JakeWharton/butterknife/issues/338 -->
<ignore path="**/*$$ViewBinder.java" />
</issue>
Ответ 2
Ответ на это: отключить правило lint в файле build.gradle
android {
lintOptions {
disable "ResourceType"
}
}
Изменить:
Это может произойти, особенно при переходе с Eclipse на Android Studio.
Ответ 3
Возможно, лучшим решением является временная отмена ошибки/предупреждения с помощью @SuppressLint("ResourceType")
непосредственно перед определением метода.
Ответ 4
У меня есть аналогичная проблема. с методом getString. Оказалось, что я пытался получить строковое значение не из strings.xml, а из ids.xml, потому что я получал его с getString (R.id.MYSTRING), когда это должно быть R.string.MYSTRING
Ответ 5
это для некоторых просмотров одним и тем же идентификатором, и вы пытаетесь изменить какое-либо свойство для одного из них.
Когда вы пытаетесь сгенерировать apk android, найдите некоторый конфиг о resours id
Чтобы решить эту проблему
лучший способ найти код и попытаться решить это по-другому с вашей точки зрения
GoodLuck