42

システム アプリを作成するにはどうすればよいですか (android:sharedUserId="android.uid.system"マニフェスト ファイルで使用する権利を取得するには、パッケージ マネージャーから証明書の問題についてエラーが発生しませんか?

ストックファームウェアを搭載したルート化された電話を使用しています。

4

5 に答える 5

23

システムアプリを作るためにやるべきこと

システム アプリには次の 2 種類があります。

  • システム パーティションにインストールされたアプリ。これは、root 権限を持つユーザーが実行できます。

  • ファームウェアに署名したのと同じ署名鍵で署名されたアプリ

android:sharedUserId="android.uid.system" を使用する権利を取得するには

それには間違いなく、ファームウェアに署名したのと同じ署名キーでアプリに署名する必要があります。それは、どんな にも当てはまりますandroid:sharedUserId

しかし、ストックアプリを編集し、ユーザーがシステムアプリをリカバリで更新できるzipファイルを用意する人もいます。

彼らが何らかの形で関与しているという証拠を提供してくださいandroid:sharedUserId="android.uid.system"

于 2013-06-20T20:32:56.407 に答える
9

システム アプリは、プラットフォーム キーで署名する必要があります。これは、Android プラットフォームを自分のデバイスまたはモバイル キャリアに展開する開発者によって行われます。

その場合、最も簡単な方法はこれを Android.mk に追加することです。

LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true

マニフェストに android:sharedUserId="android.uid.system" を追加せずにこれらの行を追加すると、platform_app になります。システム アプリは、プラットフォーム アプリよりも特権が高くなります。これはプラットフォーム キーを使用し、システム ユーザーとして実行されます。

あなたがプラットフォーム ベンダーでない場合、プラットフォーム ベンダーはプラットフォーム キーを使用してアプリケーションに署名する必要があります。私の会社を含む一部のベンダーは、そうする正当な理由を示すサードパーティのためにこれを行います.

署名がない場合、アプリケーションはルート化されたデバイスでのみ使用できます。

于 2019-10-16T18:38:08.880 に答える