'実際に'サードパーティアプリケーション'とは何ですか?

実際にサードパーティアプリケーションアンドロイドで。 Android開発について言及しているときに、アプリケーションレイヤーは次のもので構成されていると書かれています。

  1. ネイティブアプリ
  2. サードパーティアプリ
  3. 開発者アプリ

サードパーティアプリケーションは、ファーストパーティ(オペレーティングのプロバイダー)によって開発されていないものであることを知っていますシステム)サードパーティアプリケーションで述べたように。しかし、Androidサードパーティアプリと開発者アプリは同じだと思いますか?誰か助けてくれませんか? 。

コメント

  • 正直なところ'ネイティブアプリとサードパーティの違いを理解できませんでしたアプリ、およびアプリケーション(これらはすべて私の辞書にあるアプリケーションです)。この本から引用されているように('購入しないとアクセスできませんでした)、それらの違いについても説明していますか、それともこれについてのみ言及していますか?もしそうなら、それを引用して質問に追加してもらえますか?
  • @ AndrewT .:申し訳ありません。それは本当にアプリケーションではなく開発者アプリでした。投稿を編集したとき。サードパーティアプリがデベロッパーアプリと異なるかどうかを教えてください。Izzyが述べたように、どちらも OS によって開発されていないため、どちらも同じである必要があります。 メーカーでもありません。
  • このコンテキストでは、"開発者向けアプリ" " market "からインストールされていないアプリを表しますが、自分で作成し、対応する開発フレームワークを介してテストインストールします。 "署名"のコンテキスト(以下の私の回答を参照):これらのアプリは"開発キー"であるため、ここでも一種の"特別な署名"。ただし、ユーザーの観点から正確な違いを知るには、これをさらに詳しく調査する必要があります。'。

回答

ショートバージョン

" OSおよびメーカーのアプリ以外のすべてのアプリ"は"サードパーティアプリ"を意味します。

TL; DR

サードパーティのアプリは、hrm、サードパーティによって提供されるアプリです。次の用語は存在しませんが、次のように視覚化できます。ファーストパーティはOSを提供するもの(AOSP / Google)、セカンドパーティは製造元(独自のアプリを追加する)です。

基本的に、これは次のように読むことができます。「プリインストールされていないものすべて。これは、"サードパーティ"という用語が通常使用されるものです。 for 1

技術的背景

Androidの許可システムに技術的背景があります。 Androidデベロッパーの関連ページを閲覧するか、アプリの権限の説明をご覧ください。 "サードパーティのアプリでは使用できない"(または同様の)というフレーズに遭遇する権限。システムは、"サードパーティアプリ"を作成する理由をどのように決定しますか? 署名を確認し、それをOSおよびメーカーの署名と比較します。アプリの署名が2つのいずれとも一致しない場合は、 "サードパーティアプリ"。

"デベロッパーアプリ"

あなたの質問では、焦点は"サードパーティ"および"開発者"アプリ。基本的に、実際の開発者向けアプリは、"の3番目の"サブグループ"です。 party "アプリ。 対応する開発者ページに記載されているように、開発中のアプリのデバッグを容易にするために 3 、署名することができます"デバッグモード":

デバッグまたはリリースでアプリに署名できますモード。開発中はデバッグモードで、アプリを配布する準備ができたらリリースモードでアプリに署名します。 Android SDKは、デバッグモードでアプリに署名するための証明書を生成します。リリースモードでアプリに署名するには、独自の証明書を生成する必要があります。

[…]

デバッグモードでサインインしたアプリは、エミュレーターとUSB経由で開発マンチーンに接続されたデバイスで実行およびデバッグできますが、サインインしたアプリを配布することはできません。デバッグモード。

したがって、"開発者アプリ"は既知の"デバッグ証明書"を使用して通知されます。引用されたソースが述べているように、これは"リリースされたアプリ"では使用しないでください(たとえば、開発者はこれに署名したアプリを公開しないでください方法) 2

詳細情報


1:技術的には完全に正しくない可能性があります(例:このコンテキストでは、手動でインストールしたアプリの名前は、 ROM自体と同じキーで署名されています。つまり、製造元からのものですか?)

2:これはセキュリティ上の理由によるものです。同じ署名を使用すると、アプリは他のアプリのリソースにアクセスできる可能性があります。たとえば、"アドオン"が作成した特定のアプリに使用される事実同じ開発者による(すでに名前が付けられているソースなど: Androidでは、同じ証明書で署名されたアプリを同じプロセスで実行できます。アプリケーションはリクエストを送信するため、システムはそれらを単一のアプリケーションとして扱います。そして: Androidは署名ベースの権限の適用を提供するため、アプリは指定された証明書で署名された別のアプリに機能を公開できます。同じ証明書で複数のアプリに署名し、署名ベースの権限チェックを使用することで、アプリはコードとデータを安全な方法で共有できます)。"独自の"証明書は、"アプリが"その他の開発者lopers “apps "。

3: AFAIKでは、"署名されていないアプリ"をインストールできないため、署名する必要があります。 "署名"の場合、通常は2つのパスワードを入力する必要があります(1つは署名を保持するキーストア用、もう1つは署名用)自体)。 "デバッグモード"署名を使用すると、開発者が知っているパスワードを使用したSDKの内部署名を使用するため、これを回避できます。ツール。これにより、"コンパイル中に2つのパスワードを何度も入力する必要がないため、デバッグが非常に簡単になります›テスト›コンパイル›再テスト› .. "プロセス。

コメント

  • :That '良い詳細な答えです。しかし、デバッグモードでアプリに署名する必要があるかどうかを教えてください。
  • 私の(再び更新された)答えで説明されているように:"開発中のアプリのデバッグを簡単にします"。'その背景を' div id = “611c91a226″>

さらに別の更新"。その後、'でコメントをクリーンアップします(削除回答の更新によって廃止されたもの)、私たちでしょうか?;)

  • :わかりました。しかし、アプリの署名が実際に何を意味するのか教えていただけますか。誰が実際に開発したか(' s OS、製造元)またはそれ以外の意味ですか?
  • それは'技術的な部分に少し深く入り込んでいます。これについては、ウィキペディアを参照することをお勧めします。基本的には、誰がアプリに署名したかを意味し、通常は開発者です。(手書きの)署名で署名された紙と同様に、デジタル署名は署名されたデータの信頼性を示します(ここでは.apk)。
  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です