システム アプリを作成するにはどうすればよいですか (android:sharedUserId="android.uid.system"
マニフェスト ファイルで使用する権利を取得するには、パッケージ マネージャーから証明書の問題についてエラーが発生しませんか?
ストックファームウェアを搭載したルート化された電話を使用しています。
システム アプリを作成するにはどうすればよいですか (android:sharedUserId="android.uid.system"
マニフェスト ファイルで使用する権利を取得するには、パッケージ マネージャーから証明書の問題についてエラーが発生しませんか?
ストックファームウェアを搭載したルート化された電話を使用しています。
システムアプリを作るためにやるべきこと
システム アプリには次の 2 種類があります。
システム パーティションにインストールされたアプリ。これは、root 権限を持つユーザーが実行できます。
ファームウェアに署名したのと同じ署名鍵で署名されたアプリ
android:sharedUserId="android.uid.system" を使用する権利を取得するには
それには間違いなく、ファームウェアに署名したのと同じ署名キーでアプリに署名する必要があります。それは、どんな にも当てはまりますandroid:sharedUserId
。
しかし、ストックアプリを編集し、ユーザーがシステムアプリをリカバリで更新できるzipファイルを用意する人もいます。
彼らが何らかの形で関与しているという証拠を提供してくださいandroid:sharedUserId="android.uid.system"
。
システム アプリは、プラットフォーム キーで署名する必要があります。これは、Android プラットフォームを自分のデバイスまたはモバイル キャリアに展開する開発者によって行われます。
その場合、最も簡単な方法はこれを Android.mk に追加することです。
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true
マニフェストに android:sharedUserId="android.uid.system" を追加せずにこれらの行を追加すると、platform_app になります。システム アプリは、プラットフォーム アプリよりも特権が高くなります。これはプラットフォーム キーを使用し、システム ユーザーとして実行されます。
あなたがプラットフォーム ベンダーでない場合、プラットフォーム ベンダーはプラットフォーム キーを使用してアプリケーションに署名する必要があります。私の会社を含む一部のベンダーは、そうする正当な理由を示すサードパーティのためにこれを行います.
署名がない場合、アプリケーションはルート化されたデバイスでのみ使用できます。