我正在为配置我的android应用程序
on demand delivery
。
该应用程序使用
Device Administrator API
我正试图将其分解为单独的模块。现在应用程序已经
app module
和
admin module
设备管理员需要一个xml文件,该文件列出了应用程序要使用的管理策略。当这个xml文件被移动到管理模块(admin/res/xml/device_adm_policies.xml)时,android studio会生成以下android资源链接错误
错误:。。。\app\build\intermediates\packaged_manifest\debug\AndroidManifest.xml:376:APT:错误:找不到资源xml/device_adm_policies(又名com.app.package:xml/device_adm_polices)。
请注意,错误出现在编译时生成的合并清单中。如果我把这个文件移回应用程序模块,它就会工作。
我正在试用设备管理API,为此我需要这个xml文件在管理模块中。我不确定是否有可能以某种方式指向它以从管理模块获取文件。
管理模块清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:dist="http://schemas.android.com/apk/distribution"
package="com.app.package.ad">
<dist:module
dist:instant="false"
dist:title="@string/title_lock">
<dist:delivery>
<dist:install-time />
</dist:delivery>
<dist:fusing dist:include="false" />
</dist:module>
<application android:hasCode="true">
<activity
android:name=".MainActivity"
android:exported="false" />
<activity android:name=".AdminPermissionActivity" />
<receiver
android:name=".admin.DeviceAdministrator"
android:permission="android.permission.BIND_DEVICE_ADMIN"
android:exported="false">
<meta-data
android:name="android.app.device_admin"
android:resource="@xml/device_admin_policies" />
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
<action android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
<action android:name="android.app.action.ACTION_PASSWORD_FAILED" />
<action android:name="android.app.action.ACTION_PASSWORD_SUCCEED" />
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
</application>
</manifest>
xml文件(device_admin_policies.xml)
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<uses-policies>
<force-lock />
<disable-keyguard-features />
<watch-login />
</uses-policies>
</device-admin>