2

無数の異なるボタン用に多くのグラフィックスを備えたアプリを作成しました。すべてのボタンのすべてのグラフィックはdrawable-xhdpi、 、drawable-hdpidrawable-mdpiおよびで拡大縮小されて複製されますdrawable-ldpi

最初の 2 つのディレクトリのグラフィックスの量は約 3.5MB ですが、アプリ全体は約 7.5MB です。

ローエンドのスマートフォンを持っている人にダウンロードして 3.5MB のまったく役に立たないグラフィックでメモリをいっぱいにするように頼むのは明らかにおかしいので、そのliteような人のために 1 つの " " バージョンを作成することにしました。

次のような定数が必要です

  static final boolean LITE_BUILD = true;

true に設定すると、ビルドは自動的にグラフィックスを除外xhdpiします。hdpi

現在、私が持っている唯一の解決策は、手動でこれら 2 つのディレクトリを移動し、ライト バージョンをビルドし、ディレクトリを元に戻して完全なバージョンをビルドすることです。明らかに最適ではありません。

4

3 に答える 3

2

Linux でアプリを構築していますか? ここでは、必要なディレクトリへのシンボリック リンクを設定しながら、プロジェクト ディレクトリのいくつかのバリアントを作成できます。アプリの低解像度バリアント用の高解像度画像を含むディレクトリは除外します。このように、1 つのコード ベースを使用して作業でき、アプリの複数のバリエーションを簡単に作成できます。

于 2012-12-13T10:41:18.817 に答える
1

ええと、これらのフォルダに入れるすべてのドローアブルは一定なので、同じアプリを2回ビルドするのに対し、ライトバージョンでは低dpiの画像しかありませんが唯一の解決策になると思います。

人々が自分の携帯電話に適切なアプリ(フルまたはライト)をダウンロードすることを心配している場合は、アプリでサポートされている携帯電話の画面サイズにフラグを立てることができます。

so low dpi phones will only see the lite version while other phones will see the full version ( I think it works this way ).

于 2012-12-13T10:28:32.203 に答える
1

まともなバージョン管理システムを使用していますよね? 次に、さまざまな解像度のビルド用に vcs にさまざまなブランチを追加します。

共通の基本ブランチ (トランク/マスター?) で共通の機能を実行し、それらの変更を個別の解決ブランチにマージします。マニフェストへの変更と同様に、解決に依存するドローアブルを問題のブランチにのみ追加します。

ここで、ldpi などのバージョンをビルドする場合は、lpdi ブランチに変更し、base ブランチへの変更がマージされていることを確認して、apk を正常にビルドします。出来上がり、lpdi-build ができました。

于 2012-12-13T10:42:02.720 に答える