7

Android アプリを 2 つの部分 (1 つの APK からインストール) に分割できるかどうかを理解しようとしています。これを調べて、一部をデバイスメモリにインストールし、他の部分をSD-CARDにインストールします。この 2 つのパーツは一体であり、別々にインストールしないでください。

注:リソースだけでなくアクティビティも分離する必要があるため、そのAPK Expansion Filesような機能を提供しないため、ソリューションではありません。

4

8 に答える 8

4

可能になると思います。次のアプローチを試すことができますか?

  1. 2 つのアプリを作成する
  2. 最初の APK のマニフェスト ファイルには、MAIN および LAUNCHER カテゴリのアクティビティが必要です。このようにして、アプリがランチャー リストに表示されます
  3. 2 番目の APK に MAIN および LAUNCHER カテゴリのアクティビティはありませんが、独自のアプリであるため、2 番目のアプリのランチャー アクティビティとして開く必要があるアクティビティはわかっています。このようにして、2 番目のアプリが Launcher のアプリ リストに表示されることはありません
  4. 最初の APK のアセット フォルダーに 2 番目の APK を配置します。
  5. メイン アプリが 2 番目のアプリのコンテンツを使用する場合はいつでも、次のように SD カードのインストール場所を設定して、assets フォルダーから 2 番目のアプリをインストールします (ここでandroid:installLocation="preferExternal"説明)。次に、2 番目のアプリの目的のアクティビティを起動します。

私はまだこれを試していませんが、理論的には合法のようです。

これがうまくいくかどうか教えてください。ありがとう!

于 2017-01-30T05:43:29.930 に答える
0

多分これはあなたが望むものですか? APK 拡張ファイル

于 2013-02-21T10:07:54.370 に答える
0

できますが、あなたの理由ではできません。複数の APK は、アプリが複数のデバイスで確実に動作するようにするためのものであり、内部メモリと SD カードの間で合計サイズを分割するためのものではありません。

複数の APK のサポート

できるだけ多くのデバイス構成をサポートする単一の APK を開発して公開することをお勧めしますが、そうできない場合もあります。できるだけ多くのデバイス向けにアプリケーションを公開できるようにするために、Google Play では、同じアプリケーション リストで複数の APK を公開できます。その後、Google Play は、各 APK のマニフェスト ファイルで宣言された構成サポートに基づいて、各 APK を適切なデバイスに提供します。

複数の APK でアプリケーションを公開すると、次のことが可能になります。

各 APK で異なる OpenGL テクスチャ圧縮形式をサポートします。

各 APK で異なる画面構成をサポートします。

各 APK で異なるプラットフォーム バージョンをサポートします。

現在、複数の APK を同じアプリとして公開するために Google Play がサポートするデバイス特性は、これらだけです。

于 2012-04-03T06:38:54.070 に答える
0

ええ、それは可能です。ただし、両方のアプリをストアにアップロードする必要があるため、両方のアプリを個別にインストールすることもできます。多くのインテントを使用する必要があります。

インテントを使用して、両方のアプリ間のすべての通信を処理する必要があります。つまり、最初のアプリが必要とするものはすべて、2 番目のアプリへのインテントを使用して問い合わせる必要があり、デバイス内で他のアプリが見つからない場合は、Play ストアへのインテントをトリガーする必要があります。これにより、2 つのアプリが 1 つのように機能するようになります。アプリをインストールする場所はユーザーが決定することになりますが、christian-strempfer が指摘したように、SD カードを優先ターゲットとして設定できます。

この目的がスペースの節約である場合は、リソース (画像、サウンドなど) を動的にする必要があります。これらはすべてapk内の単なるファイルであるため、SDカードのファイルに簡単に置き換えることができます. それらをどこかにアップロードし、アプリのインストール後にダウンロードするだけです。そうすれば、各アセットの正確なバージョンを提供し、必要に応じてそれらを削除できます。どの画面が最も使用されているかを把握し、あまり使用していない画面のアセットを削除できます。等。

于 2017-01-30T05:22:40.597 に答える