2010-11-24 8 views
11

誰かがAndroidのシステムのアプリケーションの利点は、(システムアプリをアンインストールすることができないという事実のほかに)「ノーマル」アプリ を超えているものを私に説明できますか? 特別なアクセス許可ですか?AndroidのシステムのApp 101

答えて

21

ここには混乱があります。

まず、FLAG_SYSTEMが設定されている「システムアプリ」について言えば、これは基本的にファームウェアである読み取り専用パーティションである/システムパーティションにアプリケーションがあることを意味しますデバイスの(OTAファームウェアアップデートの一部としてのみ変更できます)これらのアプリケーションは、変更できないパーティション上にあるため削除できません。これ以上のシステムアプリケーションに関する特別

唯一のことは、システム・イメージ上の任意のアプリに付与することができ、署名権限の一握りがあるということです。例えば、パッケージマネージャーと直接話し合って、そのようなアプリが持つことができる(システムUIを介さずに)アプリをインストールする権限があります。これは、デバイスにプリロードされているすべてのアプリストア/マーケットに役立ちます。

プラットフォームの証明書で署名され

が直交概念である - そのようなアプリケーションは、システムイメージまたはサードパーティのアプリケーションとしてインストール(明らかにほとんどすべての場合、これらは、プリインストールされていても)のいずれかとすることができます。このようなアプリは、プラットフォームとのやりとりのための完全な低レベルのアクセス権にアクセスできます。この証明書で署名されたアプリはごくわずかです。それはコアプラットフォームアプリケーションのためだけです。デバイス上のハードウェアベンダーと作業している場合を除き、このデバイスにアクセスすることはできません。

すべてのプラットフォームの証明書(すべてのアプリケーションで使用可能かどうか、プラットフォーム証明書で署名されたアプリケーションを要求するか、システムパーティションにインストールされたアプリケーションで使用可能かなど)はプラットフォームマニフェストによって宣言されますアプリ:
https://android.googlesource.com/platform/frameworks/base/+/master/core/res/AndroidManifest.xml

+0

ありがとう!それは私が探していたものだ – m88m

+0

これは時代遅れだと私には思われる。カスタムROMを作成する際には、プラットフォーム証明書を使って署名する必要があります。そして、言及された「低レベル機能」のリストと、システムアプリケーションで利用できる特別な権限がありますか? –

+0

http://stackoverflow.com/questions/7707889/android-system-permissions-through-rootをご覧ください。 –

0

あなたの説明から、私はあなたが(ブラウザやメッセージアプリなど)、プリインストールされたアプリケーションを意味すると思います。これらのアプリはhttps://android.googlesource.comでご覧になれます。 (platform/packages/apps/...を検索してください)。

あなたがそれらを削除することはできませんを除いて、これらのアプリケーションは、アプリ開発、独自のカスタムには違いないことがわかります。彼らはあなたの電話/デバイスを操作するための基本的な機能を提供するので、それらを削除することはできません。したがって、同じセキュリティ制約がそこに適用されます。

+0

ファームウェアが正しくインストールされていれば、システムアプリになることはできますか? (「プラットフォームキー」で署名された) – m88m

+0

私はあなたがメーカーの立場から話していると思います。私は特定のタブレットメーカーが市場の制約のためにプリインストールされたスカイプなどで出荷されていることを知っています。しかしそれらは再び取り除かれ、調査する価値のあるものです。私は市場でのダウンロードのためのシステムアプリを見たことがない、かなりのセキュリティ上のリスクとなります。 Januszが下記のBRICKの許可を考えてください。 –

+0

ねえ! MobileDefenseアプリはそのようなものに取り組んでいます(私は推測します!)http://support.mobiledefense.com/viewtopic.php?id=569ここで、ステートメント(トッパー)を読んでください:「すぐに新しいAPKをリリースしますシステムアプリのインストールプロセス全体を自動化します。私は方法があると思う.... – m88m

1

システムアプリケーションでのみ取得できるアクセス許可があります。たとえば、permission brickはすべてのアプリでリクエストできますが、システムアプリとして署名されたアプリにのみ付与されます。他にも、アプリを直接インストールしたり削除したりすることは、システムのパーミッションに過ぎないと思う方がいいでしょう。

+0

そのような権限のリストで知っていますか(システムアプリケーションだけが使用できるのですか?) – m88m