Подтвердить что ты не робот

AndroidStudio отключает "Ожидаемый ресурс строки типа"

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

Ошибка: ошибка: ожидаемый ресурс строки типа [ResourceType]

Это потому, что я использую Butterknife @BindString, который сгенерирован в нечто подобное

target.settings = res.getString(2131230792);

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

4b9b3361

Ответ 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