app_restrictions.xml 是 Android 应用实现受管理配置的关键文件,必须置于 res/xml/app_restrictions.xml 路径,并在 AndroidManifest.xml 的 标签下通过 声明;根元素为 ,每个 需指定 android:key、android:title、android:defaultValue 和 android:type,且类型写法须严格匹配规范。

app_restrictions.xml 是 Android 应用实现受管理配置(Managed Configuration)的关键文件,用于向企业移动管理(EMM)系统声明你的应用支持哪些可远程配置的选项。它不是随便写个 XML 就能生效,结构、位置和引用方式都必须准确。
文件位置和引用方式
这个文件必须放在 res/xml/app_restrictions.xml 路径下(注意是小写 xml 目录,不是 Xml 或 XML)。同时,你得在 AndroidManifest.xml 的 标签下添加声明:
缺了这行,IT 管理员或 EMM 工具根本读不到你的配置定义。
基本 XML 结构要求
文件根元素必须是 ,每个可配项用一个 子元素表示。每个 restriction 必须包含以下属性:
-
android:key:唯一标识符,代码里读取时用的键名,比如
"enable_offline_mode" -
android:title:显示给管理员的名称(建议用 string 资源引用,如
@string/restrict_title_offline) -
android:defaultValue:默认值,类型需匹配
android:type -
android:type:支持的类型有
boolean、integer、string、choice、multiselect、bundle等
例如定义一个开关和一个下拉选项:
ArcGIS for Android SDK 目前最新版本为10.2.5 从此版本开始ESRI不在提供Eclipse的插件支持,官方的帮助也针对于Android Studio的支持;本文档主要讲述的内容是最新版本ArcGIS For Android Eclipse环境配置;感兴趣的朋友可以过来看看
常见类型写法要点
不同类型要注意写法细节:
-
choice/multiselect:必须嵌套
,且每个 entry 的android:value必须是纯字符串(不能含空格或特殊字符),供代码解析用 -
string/integer:defaultValue 写成字符串形式,比如
android:defaultValue="100"或android:defaultValue="default_server" -
boolean:defaultValue 只能是
"true"或"false"(注意是字符串,不是 true/false 字面量) - 所有字符串资源(title、entry title)建议统一放在
res/values/strings.xml中,方便多语言适配
验证是否生效的小技巧
编译后检查 APK 是否真包含该文件:
- 用 zip 工具打开 APK,路径应为
res/xml/app_restrictions.xml - 在设备上安装后,用 ADB 查看是否被系统识别:
adb shell dumpsys restrictions - 如果返回空或报错“no restrictions”,大概率是 manifest 没声明,或文件路径/命名不对
基本上就这些。不复杂但容易忽略细节,尤其是大小写和资源路径。









