【问题标题】:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED when adding device admin privileges to my app向我的应用添加设备管理员权限时的 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
【发布时间】:2014-04-13 15:12:44
【问题描述】:

在我的 AndroidManifest.xml 中添加以下行会导致 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 错误:-

<receiver android:name="com.gp.app.antitheft.notifications.AdminManagerActivity"
    android:permission="android.permission.BIND_DEVICE_ADMIN">
    <intent-filter>
        <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
        <action android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
    </intent-filter>
</receiver>

除此之外,以下数据是从 LogCat 获得的:-

04-13 20:24:59.243: W/ActivityManager(594): 没有找到内容提供者来撤销权限:file:///data/local/tmp/AntiTheft.apk

04-13 20:24:59.253: D/Finsky(1820): [137] PackageVerificationService.getPackageInfo: 无法读取请求 id=3 中的 file:///data/local/tmp/AntiTheft.apk 的存档

04-13 20:24:59.253:D/Finsky(1820):[1] PackageVerificationReceiver.onReceive:请求验证,id = 3

04-13 20:24:59.253:W/PackageParser(1820):/data/local/tmp/AntiTheft.apk(在二进制 XML 文件第 67 行):需要 android:value 或 android:resource 属性。

由于我对设备管理 API 非常陌生,因此我无法检测到实际问题是什么。请帮忙。提前致谢。

【问题讨论】:

    标签: android


    【解决方案1】:

    如果没有别的,您需要一个 &lt;meta-data&gt; 元素,指向一个 XML 资源,您可以在其中描述您希望使用的设备管理功能:

    <receiver
      android:name="AdminReceiver"
      android:permission="android.permission.BIND_DEVICE_ADMIN">
      <meta-data
        android:name="android.app.device_admin"
        android:resource="@xml/device_admin"/>
    
      <intent-filter>
        <action android:name="android.app.action.DEVICE_ADMIN_ENABLED"/>
      </intent-filter>
    </receiver>
    

    my sample project 中的res/xml/device_admin.xml 包含:

    <device-admin xmlns:android="http://schemas.android.com/apk/res/android">
    
        <uses-policies>
            <force-lock/>
        </uses-policies>
    
    </device-admin>
    

    因为这个示例项目会根据需要锁定设备。

    您可以在the Android developer documentationAndroid development books written by balding authors 中阅读有关设备管理的更多信息。 :-)

    【讨论】:

    • 既然最初的问题已经解决,我在 LogCat 中收到以下错误:- 04-14 18:56:05.750: E/InstalledAppDetails(29833): 检索包时出现异常:com.gp.app .antitheft.startup 04-14 18:56:05.750: E/InstalledAppDetails(29833): android.content.pm.PackageManager$NameNotFoundException: com.gp.app.antitheft.startup 虽然在我的应用程序中定义了启动包。跨度>
    • @user3279837:我建议您再问一个 StackOverflow 问题,提供完整的堆栈跟踪以及清单中的相关部分。仅凭您在此评论中的内容,我无法为您提供帮助。
    猜你喜欢
    • 2016-03-15
    • 2019-04-02
    • 2021-12-21
    • 2019-09-20
    • 2021-05-12
    • 2014-08-27
    • 2021-06-03
    • 2021-09-22
    • 2013-09-27
    相关资源
    最近更新 更多