Ошибка:(8, 30) Типы строк не допускаются (в разделе "описание" со значением "Публичные альбомы с этим именем пользователя будут выбраны")
Я пытаюсь настроить ограничения в приложении, но получаю следующую ошибку
Ошибка:(8, 30) Типы строк недопустимы (при "описании" со значением "Публичные альбомы с этим именем пользователя будут выбраны"). Ошибка: не удалось выполнить задачу ":app:processDebugResources". com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: процесс 'команда'C:\Users\athakur\Softwares\adt-bundle-windows-x86_64-20140702\sdk\build-tools\22.0.1\aapt.exe'' завершено с ненулевым значением выхода 1
Мой app_restriction.xml выглядит следующим образом -
<?xml version="1.0" encoding="utf-8"?>
<restrictions xmlns:android="http://schemas.android.com/apk/res/android" >
<restriction
android:key="google_username"
android:title="Google Username"
android:restrictionType="string"
android:description="Public Albums of this username will be fetched"
android:defaultValue="opensourceforgeeks" />
</restrictions>
Если я удалю описание, оно будет работать нормально. Я использовал тот же синтаксис, который указан на странице разработчика Android, т.е.
<?xml version="1.0" encoding="utf-8"?>
<restrictions xmlns:android="http://schemas.android.com/apk/res/android" >
<restriction
android:key="downloadOnCellular"
android:title="App is allowed to download data via cellular"
android:restrictionType="bool"
android:description="If 'false', app can only download data via Wi-Fi"
android:defaultValue="true" />
</restrictions>
Не уверен, что мне не хватает. Любая помощь приветствуется.
2 ответа
Значение описания для элемента Restriction должно быть String Resource, как описано здесь. Извлечение жестко закодированного текста, следовательно, исправит сборку.
Как правильно указал @fractalwrench, атрибут description может указывать только на ресурс [ этот пример документации вводит в заблуждение. Обычный текст не допускается.
public static final int RestrictionEntry_description
Должна быть ссылкой на другой ресурс в форме "@[+][package:]type:name" или на атрибут темы в форме "?[Package:][type:]name".
Это соответствует описанию символа ресурса глобального атрибута. Постоянное значение: 0 (0x00000000)
Следующее сработало для меня
<restriction
android:key="google_username"
android:title="Google Username"
android:restrictionType="string"
android:description="@string/rest_uname_desc"
android:defaultValue="opensourceforgeeks" />
с
<string name="rest_uname_desc">Public Albums of this username will be fetched</string>
в string.xml