Android P使用pm install安装apk报错

本文解决在Android P上使用pminstall安装apk时遇到的权限错误问题,提供两种有效解决方案:一是将文件复制到/data/local/tmp目录下进行安装;二是使用cat命令结合pminstall进行安装。
AI助手已提取文章相关产品:

Android P使用pm install安装apk报错

avc: denied { read } for scontext=u:r:system_server:s0 tcontext=u:object_r:sdcardfs:s0 tclass=file permissive=0
System server has no access to read file context u:object_r:sdcardfs:s0 (from path /storage/emulated/0/Download/FDroid.apk, context u:r:system_server:s0)
Error: Unable to open file: /storage/emulated/0/Download/FDroid.apk
Consider using a file under /data/local/tmp/
Error: Can’t open file: /storage/emulated/0/Download/FDroid.apk
Exception occurred while executing:
java.lang.IllegalArgumentException: Error: Can’t open file: /storage/emulated/0/Download/Utf7Ime.apk
at com.android.server.pm.PackageManagerShellCommand.setParamsSize(PackageManagerShellCommand.java:306)
at com.android.server.pm.PackageManagerShellCommand.runInstall(PackageManagerShellCommand.java:884)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:138)
at android.os.ShellCommand.exec(ShellCommand.java:103)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21125)
at android.os.Binder.shellCommand(Binder.java:634)
at android.os.Binder.onTransact(Binder.java:532)
at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:2806)
at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:3841)
at android.os.Binder.execTransact(Binder.java:731)

解决方法

在android P以前可以使用pm install安装apk,但是在android P出现报以上错误,有以下两种解决方法

  1. 将文件拷贝到/data/local/tmp/下再进行安装
    String path = “/data/local/tmp/”;
    String fileName = PathData.utfApkName;
    File apkFile = new File(path + fileName);
    String command = "pm install " + apkFile.getAbsolutePath();
  2. 使用cat $apkfile.apk | pm install -S $apkfile.length
    String installCommand = " cat " + apkFile.getAbsolutePath() + " | pm install -S "+ apkLength;

您可能感兴趣的与本文相关内容

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值