首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在android模块中找不到XML

在android模块中找不到XML
EN

Stack Overflow用户
提问于 2022-02-01 07:03:29
回答 2查看 272关注 0票数 1

我正在为按需交货配置我的安卓应用程序。这个应用程序使用的是设备管理器API,我正试图将其分解为单独的模块。现在应用程序有了app moduleadmin module

需要一个xml文件,其中列出了应用程序想要使用的管理策略。当这个xml文件被移动到管理模块( admin /res/xml/device_admin_policies.xml)时,android会在android资源链接错误之后生成

ERROR:...\app\build\intermediates\packaged_manifests\debug\AndroidManifest.xml:376: AAPT: error: resource /device_admin_policies(又名com.app.package: xml/device_admin_policies )未找到。

请注意,错误出现在合并的清单中,在编译时生成。如果我把这个文件移回app模块,它就能工作了。

我正在尝试使用设备管理API ( Device ),为此我需要将这个xml文件放在管理模块中。我不确定是否有可能以某种方式从管理模块中获取文件。

管理模块

代码语言:javascript
复制
<?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)

代码语言:javascript
复制
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-policies>
        <force-lock />
        <disable-keyguard-features />
        <watch-login />
    </uses-policies>
</device-admin>
EN

回答 2

Stack Overflow用户

发布于 2022-02-04 17:48:25

当AAPT抱怨无法找到XML资源文件时,这是一个给定的事实。

该文件的位置为:src/main/res/xml/device_admin_policies.xml

将基本模块资源打包到动态功能模块中将无法工作.

只能在动态特性模块中引用基本模块资源。

票数 0
EN

Stack Overflow用户

发布于 2022-02-10 07:29:57

消除视图查找

我们使用数据绑定获得的最基本的东西是消除findViewById。为了使它对布局文件有效,首先我们需要通过创建外部标记来更改布局文件,而不是使用任何ViewGroup (请注意,还应该移动XML名称空间):

代码语言:javascript
复制
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:paddingBottom="@dimen/activity_vertical_margin"
        tools:context=".MainActivity">

    <TextView
            android:id="@+id/tvLabel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

</RelativeLayout>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70936660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档