首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >设备所有者的静默APK安装在MIUI 11上不起作用

设备所有者的静默APK安装在MIUI 11上不起作用
EN

Stack Overflow用户
提问于 2020-01-16 01:07:44
回答 1查看 974关注 0票数 2

我有一个“设备所有者”安卓应用程序,它使用PackageInstaller (参见代码,例如,here)静默安装APK。

这段代码在所有安卓7+设备上都能完美运行,除了小米Redmi 7A (运行MIUI 11)。安装失败,下面是相关的logcat输出:

代码语言:javascript
复制
01-16 00:43:21.494  1488  2892 I InstallationStatistic: beginInstallSession: 417086238
01-16 00:43:21.600  1488  1658 D com.android.server.pm.PackageManagerServiceInjector: Package verify start
01-16 00:43:21.601  1488  1538 D CompatibilityInfo: mCompatibilityFlags - 0
01-16 00:43:21.601  1488  1538 D CompatibilityInfo: applicationDensity - 320
01-16 00:43:21.601  1488  1538 D CompatibilityInfo: applicationScale - 1.0
01-16 00:43:21.611 24382 24395 D  GuardProvider: start parse apk : /data/app/vmdl417086238.tmp
01-16 00:43:21.618 24382 24395 E i.guardprovide: Invalid ID 0x00000000.
01-16 00:43:21.638  4434 24418 D PackageVerifyedRecevier: verify package /data/app/vmdl417086238.tmp info:  PackageInfo{45d0d6b com.hmdm.sendphoto}
01-16 00:43:21.638  4434 24418 D PackageVerifyedRecevier: verify package /data/app/vmdl417086238.tmp finish true
01-16 00:43:21.639  1488  1658 I com.android.server.pm.PackageManagerServiceInjector: MIUILOG- Install Reject uid: 10161 pkg : com.hmdm.launcher
01-16 00:43:21.639  1488  1658 E PackageInstaller: Commit of session 417086238 failed: Permission Denied

安装程序(设备所有者)的程序包ID为com.hmdm.launcher。正在安装的应用程序包ID为com.hmdm.sendphoto。

我尝试添加“安装未知应用程序”权限,但没有帮助。

看起来应用程序必须向MIUI OS请求一些特殊的(未记录的)权限?

设备所有者权限由QR code based enrollment授予应用程序。

EN

回答 1

Stack Overflow用户

发布于 2020-02-16 18:50:11

同样,在MIUI 10.3中,一些应用程序被拒绝安装/更新。例如,我不能以通常的方式安装Threema更新(并且只得到一个愚蠢的错误‘未安装’)。logcat显示com.android.server.pm.PackageManagerServiceInjector调用的com.miui.global.packageinstaller.action.verifypackage失败:

代码语言:javascript
复制
02-16 11:29:05.809  1271  1853 D com.android.server.pm.PackageManagerServiceInjector: Package verify start
02-16 11:29:05.810  1271  1317 D CompatibilityInfo: mCompatibilityFlags - 0
02-16 11:29:05.810  1271  1317 D CompatibilityInfo: applicationDensity - 440
02-16 11:29:05.810  1271  1317 D CompatibilityInfo: applicationScale - 1.0
02-16 11:29:05.812  1271  6228 W ActivityManager: Sending non-protected broadcast com.miui.global.packageinstaller.action.verifypackage from system 3440:com.miui.securitycenter.remote/1000 pkg com.miui.securitycenter. Callers=
02-16 11:29:05.816  3440 25765 E ActivityThread: Failed to find provider info for guard
02-16 11:29:05.817  3440 25765 E PackageVerifyedRecevier: parseApk
02-16 11:29:05.817  3440 25765 E PackageVerifyedRecevier: java.lang.IllegalArgumentException: Unknown URI content://guard
02-16 11:29:05.817  3440 25765 E PackageVerifyedRecevier:   at android.content.ContentResolver.call(Unknown Source:63)
02-16 11:29:05.817  3440 25765 E PackageVerifyedRecevier:   at com.miui.permcenter.install.q.doInBackground(Unknown Source:17)
02-16 11:29:05.817  3440 25765 E PackageVerifyedRecevier:   at com.miui.permcenter.install.q.doInBackground(Unknown Source:2)
02-16 11:29:05.817  3440 25765 E PackageVerifyedRecevier:   at android.os.AsyncTask$2.call(Unknown Source:20)
02-16 11:29:05.817  3440 25765 E PackageVerifyedRecevier:   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
02-16 11:29:05.817  3440 25765 E PackageVerifyedRecevier:   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
02-16 11:29:05.817  3440 25765 E PackageVerifyedRecevier:   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
02-16 11:29:05.817  3440 25765 E PackageVerifyedRecevier:   at java.lang.Thread.run(Thread.java:764)
02-16 11:29:05.817  3440 25765 D PackageVerifyedRecevier: verify package /data/app/vmdl216836998.tmp info:  null
02-16 11:29:05.818  3440 25765 D PackageVerifyedRecevier: verify package /data/app/vmdl216836998.tmp finish false
02-16 11:29:05.818  1271  1853 I com.android.server.pm.PackageManagerServiceInjector: MIUILOG- INSTALL_FAILED_VERIFICATION_FAILURE  uid: 10026 pkg : com.google.android.packageinstaller

对我来说起作用的是将apk文件移动到/data/local/tmp/,然后以根用户身份调用

代码语言:javascript
复制
pm install -r file.apk
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59756381

复制
相关文章

相似问题

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