36

android:sharedUserId = "android.uid.system"(UID:1000)のシステムレベルのアプリがあります。

デバイスはルート化されていません!マニフェストにはINSTALL_PACKAGES権限が含まれています。

ダウンロードした*.apkをサイレントインストールできますか?

4

2 に答える 2

44

問題を見つけました。

  1. android.permission.INSTALL_PACKAGES「 」権限を追加しました。
  2. signapk.jarデバイスの製造元から取得した証明書を使用して、「」を使用してアプリケーションに署名しました。
  3. そして今、このアプリはpm install /.../app.apk「su」なしで「」を使用して他の人をインストールすることができます。

できます!

PS 「pminstall」だけを使用してアプリケーションを更新しても、既存のアプリケーションは新しいアプリケーションに置き換えられませんが、exit_value = 0が返されます。したがって、更新するには2つの方法があります。

  • ""を使用しpm install -r /.../app.apkます;
  • まず、 ""( " "権限pm uninstall com.mydomain.myappが必要)を使用してアプリを削除してから、新しいアプリをインストールします。android.permission.DELETE_PACKAGES
于 2013-03-27T13:29:29.420 に答える
7

いいえ、あなたがすることはできません。同じUIDを持つだけでは十分ではありません。また、ROM自体と同じキーで署名する必要があります。

セキュリティ上の理由から、アプリをサイレントインストールしたり、独自のアプリを更新したりすることは許可されていません。

于 2013-03-25T16:29:53.417 に答える