実際にサードパーティアプリケーションアンドロイドで。 Android開発について言及しているときに、アプリケーションレイヤーは次のもので構成されていると書かれています。
- ネイティブアプリ
- サードパーティアプリ
- 開発者アプリ
サードパーティアプリケーションは、ファーストパーティ(オペレーティングのプロバイダー)によって開発されていないものであることを知っていますシステム)サードパーティアプリケーションで述べたように。しかし、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 。
詳細情報
- アプリケーション署名の検証:仕組み、 Xposedで無効にする方法とすべきでない理由
- Androidの偽のIDの脆弱性により、マルウェアが信頼できるアプリケーションになりすます(署名保護を回避するために悪用されたバグについて説明します。これにより、任意のアプリがOSまたはメーカーによって署名された"になりすます"。 Kitkatを使用)
- Android署名メカニズム(" ROM署名メカニズムの違いについて説明します"および"サードパーティのAPK署名メカニズム")
- デジタル署名(デジタル署名とは何か、およびその仕組みの一般的な背景)
1:技術的には完全に正しくない可能性があります(例:このコンテキストでは、手動でインストールしたアプリの名前は、 ROM自体と同じキーで署名されています。つまり、製造元からのものですか?)
2:これはセキュリティ上の理由によるものです。同じ署名を使用すると、アプリは他のアプリのリソースにアクセスできる可能性があります。たとえば、"アドオン"が作成した特定のアプリに使用される事実同じ開発者による(すでに名前が付けられているソースなど: Androidでは、同じ証明書で署名されたアプリを同じプロセスで実行できます。アプリケーションはリクエストを送信するため、システムはそれらを単一のアプリケーションとして扱います。そして: Androidは署名ベースの権限の適用を提供するため、アプリは指定された証明書で署名された別のアプリに機能を公開できます。同じ証明書で複数のアプリに署名し、署名ベースの権限チェックを使用することで、アプリはコードとデータを安全な方法で共有できます)。"独自の"証明書は、"アプリが"その他の開発者lopers “apps "。
3: AFAIKでは、"署名されていないアプリ"をインストールできないため、署名する必要があります。 "署名"の場合、通常は2つのパスワードを入力する必要があります(1つは署名を保持するキーストア用、もう1つは署名用)自体)。 "デバッグモード"署名を使用すると、開発者が知っているパスワードを使用したSDKの内部署名を使用するため、これを回避できます。ツール。これにより、"コンパイル中に2つのパスワードを何度も入力する必要がないため、デバッグが非常に簡単になります›テスト›コンパイル›再テスト› .. "プロセス。
コメント
- :That '良い詳細な答えです。しかし、デバッグモードでアプリに署名する必要があるかどうかを教えてください。
- 私の(再び更新された)答えで説明されているように:"開発中のアプリのデバッグを簡単にします"。'その背景を' div id = “611c91a226″>
さらに別の更新"。その後、'でコメントをクリーンアップします(削除回答の更新によって廃止されたもの)、私たちでしょうか?;)
.apk
)。