Silent install apk由system app(没有root)编程

yur*_*ife 29 android android-install-apk

我有android的系统级应用程序:sharedUserId ="android.uid.system"(UID:1000).

设备没有扎根!Manifest中包含INSTALL_PACKAGES权限.

我可以安静地安装下载的*.apk吗?

yur*_*ife 41

我发现了这个问题.

  1. 添加了" android.permission.INSTALL_PACKAGES"权限.
  2. 我使用" signapk.jar" 签署了我的应用程序,证书是我从我的设备制造商处获得的.
  3. 现在这个应用程序可以使用" pm install /.../app.apk"而不是"su" 安装其他人.

有用!

PS 仅使用"pm install" 更新应用程序并不会用新的应用程序替换现有的应用程序,但返回exit_value = 0.因此更新有两种方法:

  • 用" pm install -r /.../app.apk";
  • 首先使用" pm uninstall com.mydomain.myapp"(您需要" android.permission.DELETE_PACKAGES"权限)删除应用程序,然后安装新的应用程序.

  • pm install -r ...将更新现有的APK (2认同)
  • 实际上不确定.我期待-r用任何APK替换现有的应用程序,无论是相同的版本,更新还是更旧.虽然pm安装只会替换版本更新,但不一样. (2认同)

Rag*_*ood 8

你不能.仅仅具有相同的UID是不够的.您还必须使用与ROM本身相同的密钥进行签名.

出于安全原因,不允许以静默方式安装应用程序或更新到您自己的应用程序.

  • 但我的应用程序是使用我从制造商处获得的证书签名的.此应用程序仅在一种类型和型号的设备上运行. (2认同)