0

13個のJARライブラリ(android-support、gson、guavaなど)を含み、1個のAndroidライブラリ(Sherlock)を使用する比較的小さなプロジェクト(50クラス)があります。

問題は、「プロジェクトのビルド」を押すたびに、デバイスのビルド/デプロイに約2分かかることです。(ただし、新しく作成されたAndroidプロジェクトのビルドには5秒もかかりません)。

それでできることはありますか(ライブラリの数を制限し、別のIDEに切り替えます)?または、それは通常の動作です。

4

3 に答える 3

1

JARファイルとSherlockライブラリを追加する必要があるため、プロジェクトのコンパイルには非常に長い時間がかかります。プロジェクトに追加されたすべてのライブラリは、プロジェクトのビルド時間を増やします。

建物の多くはAndroidSDKによって処理されるため、別のIDEに切り替えても大きな違いはありません。

最善の策は、おそらく、除去を使用してプロジェクトのライブラリを制限し、ビルド時間の最大の増加を引き起こすものを確認することです。

于 2012-09-23T09:26:15.467 に答える
1

AlexRには良い答えがあります。たす:

私はIDEAを使用しているので、Eclipseでこれを行う方法はわかりませんが、実行できることはわかっています。おそらく、コンテキストメニューを右クリックします。

dev/testに本当に必要のないレイアウトをビルドから除外します。私は、プロジェクトの早い段階でプレースホルダーレイアウトを配置し、プロジェクトの後半でメインコードがアルファ品質になったらそれらを改良する傾向があります。1つのセットを除くすべてを除外します。「通常の」ポートレート。すべてのコード作成を行ってから、最後の方にレイアウトを追加するだけです。

資産についても同じことが言えます。たくさんのアセットや大きなサイズのアセットがありますか?これらを除外するか、一時的に小さいものと交換してください。

とはいえ、使用されるコンパイラーは非常に優れた最適化を行い、クラスの数が増えると、ビルド時間が長くなることは避けられません。指数関数的ではありませんが(実際に測定したことはありません)、線形よりも確かに悪いです。

于 2012-09-23T09:32:26.890 に答える
0

私はあなたの質問に直接答えることはできませんが、私はあなたに次のステップをお勧めすることができます。

  1. 「Big」プロジェクトのビルドとデプロイを「Small」プロジェクトのビルドと比較します。両方についてまったく同じ操作を比較しようとしましたか?結果はどうなりますか?
  2. 新しいワークスペースを作成してみてください。Eclipseに役立つこともあります。
  3. 「小さな」プロジェクトを取り上げて、段階的に「大きな」プロジェクトに移行してみてください。たとえば、最初に依存関係を追加します。プロジェクトをビルドしてみてください。時間は大きく変わりませんでしたか?先に進み、20のカスタムクラスなどを追加します。時間は変わりましたか?これを引き起こすライブラリを見つけてください。他の戦略を選択することもできます。依存関係のあるjarを追加せずにクラスを追加し、依存関係を使用するコードをコメントアウトするだけです。この方法はもっと複雑かもしれませんが、あなたのプロジェクトは確かに大きすぎるので、それでも可能だと思います。

幸運を。

于 2012-09-23T09:23:48.837 に答える