1

我正在尝试在我的应用程序中配置限制,但出现以下错误

错误:(8, 30) 不允许使用字符串类型(在“描述”处,值为“将获取此用户名的公共相册”)。错误:任务“:app:processDebugResources”执行失败。com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '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 dev 页面上指定的相同的语法,即

<?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>

不知道我错过了什么。任何帮助表示赞赏。

4

2 回答 2

2

Restriction 元素的描述值必须是字符串资源,如此所述。因此,提取硬编码文本将修复构建。

于 2015-09-25T11:09:41.010 回答
1

正如@fractalwrench 正确指出的那样,描述属性只能指向资源[此文档示例具有误导性。不允许纯文本]。

公共静态最终 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>

在字符串.xml

于 2015-09-25T11:26:35.397 回答