Ошибка:(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

Другие вопросы по тегам