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

时间:2013-03-25 16:17:54

标签: android android-install-apk

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

设备未植根! Manifest中包含INSTALL_PACKAGES权限。

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

2 个答案:

答案 0 :(得分:41)

我发现了这个问题。

  1. 添加了“android.permission.INSTALL_PACKAGES”权限。
  2. 我使用“signapk.jar”使用我从设备制造商处获得的证书对我的应用程序进行了签名。
  3. 现在这个应用可以使用“pm install /.../app.apk”而不是“su”安装其他人。
  4. 有效!

    P.S。仅使用“pm install”更新应用程序并不会用新的应用程序替换现有的应用程序,但返回exit_value = 0.所以要更新有两种方法:

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

答案 1 :(得分:8)

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

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