1

このトピックについて調査を試みましたが、「正しい」と考えられる答えは見つかりませんでした。SOにはいくつかの同様の投稿がありますが、ほとんどの人と同じように、私の質問は異なると思います... :-)。ご協力いただきありがとうございます。

トレーニング モジュールが組み込まれたアプリケーションを開発しています。すべてのユーザーが、常にすべてのトレーニング モジュールをデバイスで利用できるようにする必要はありません。また、これらのモジュールはリソースを大量に消費するため、ベース アプリケーションにすべてを含めたくないのです。私の考えは、これらのモジュールが自由にやり取りできるように、(同じ署名を持つ) 追加の APK パッケージを提供することです。質問は次のとおりです。

  1. 異なる APK が同じ署名を使用している場合、それらは互いに通信できることをどこかで読みました (しかし、リンクが再び見つかりません)。これが正しくない場合はお知らせください。
  2. これらの APK 間でコードを共有するにはどうすればよいですか? リソースの共有について読みましたが、コード共有がどのように機能するかはわかりました。
  3. これがこの問題を解決するための最良のアプローチではない場合、別のアプローチの方向性を歓迎します.

私は自分のアプリケーションのこの特定の部分についてまだ研究モードにあるため、採用できる設計アプローチは非常に柔軟です。

ありがとう...

4

1 に答える 1

0

私はどこかで読んだことがあります(しかし、リンクを再び見つけることはできません)。異なるAPKが同じ署名を使用する場合、それらは互いに通信できるということです。これが当てはまらない場合はお知らせください。

どのアプリも「互いに話す」ことができます。同じ署名キーで2つ以上の署名を行うと、カスタムの署名レベルの権限を定義できます。これは、アプリのみが「相互に通信」でき、他の開発者のアプリが同じ方法で通信できないことを意味します。

これらのAPK間でコードを共有するにはどうすればよいですか?

理想的には、そうしないでしょう。あるアプリが別のアプリによって公開されているAPIを呼び出すようにすることは確かに歓迎されます。

  • 活動を開始する
  • サービスの開始またはバインド
  • ブロードキャストの送信
  • コンテンツプロバイダーへのアクセス

また、これらのAPIは、上記のカスタム署名レベルの権限で保護できるため、任意のアプリが使用するためではなく、アプリファミリー専用のAPIです。

于 2012-09-18T11:40:19.927 に答える