Android gradle отключить удаление ресурсов без значения по умолчанию - PullRequest
0 голосов
/ 30 октября 2018

После обновления до Android Gradle Plugin 3.2 ресурсы без обязательных значений по умолчанию удаляются. Причинение сбоя сборки.

Execution failed for task ':app:processDebugResources'.
> Android resource linking failed
  warn: removing resource my.package.name:string/my_string_resource without required default value.
  /path/to/layout.xml: AAPT: error: resource string/my_string_resource (aka my.package.name:string/my_string_resource) not found

Можно ли это отключить? В настоящее время я использую последний плагин Android Gradle: 3.4.0

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

Ответы [ 3 ]

0 голосов
/ 25 марта 2019

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

android:foreground="null"

Существует вероятность, что у вас неверное значение xml

0 голосов
/ 05 августа 2019

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

Итак, после недели борьбы с этой проблемой и поиска в Google, я написал скрипт gradle для генерации недостающих ресурсов. Этот скрипт генерирует только строки, стили, целые числа и т. Д. (Все из папок "values"). Не стесняйтесь открывать PR для генерации других типов ресурсов:)

https://github.com/gerra/MissingResources

Все, что вам нужно, находится в missing_res_generator.gradle файле.

0 голосов
/ 21 января 2019

Я не уверен, решит ли это вашу проблему. Но для меня после обновления Android Studio с 3.2 до 3.3 я получил несколько предупреждений о том, что

Android resource linking failed
Output:  warn: removing resource com.myproject:string/menu_item_copy 
without required default value.

Для этого я изменил

compileSdkVersion 28

на уровне приложения build.gradle. После обновления compiledSdkVersion эти предупреждения исчезли. Попробуйте, если это работает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...