2017-05-29 1 views
0

アンドロイドスタジオプロジェクトを作成すると、多くの依存関係が発生します。だから私はそれらを削除することを決めた、私は使用されていないと思う。私は、これらの依存関係は何のために使用されているのだろうと思っています、そして、彼らは安全に取り外すことができますか?なぜ無駄な依存がたくさんあるのですか?どの依存関係を削除しても安全ですか?

私のbuild.gradleは、この(ナビゲーションビュー活動)

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
}) 
compile 'com.android.support:appcompat-v7:25.3.1' 
compile 'com.android.support:design:25.3.1' 
compile 'com.android.support.constraint:constraint-layout:1.0.2' 
testCompile 'junit:junit:4.12' 

のように見えたし、 '未使用' の依存関係を削除した後、私はと残されています:

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
compile 'com.android.support:appcompat-v7:25.3.1' 
compile 'com.android.support:design:25.3.1' 

マイアプリのコンパイル、および実行それらを取り除いた後に細かい。彼らは本当に無駄ですか?

+0

アプリケーションを自動的にテストしてJUnitテストを作成する場合は、これらの依存関係を削除しないでください。詳細はこちらをご覧ください:https://developer.android.com/training/testing/start/index.html – Prexx

+0

それぞれの依存関係を調査するだけです。そして、それを削除するかどうかを決定することができます。それらはすべてオプションです。しかし、あなたが望むかもしれない機能を提供するものもあります。 – Doomsknight

答えて

1

Androidアプリケーションをコンパイルして実行するには、実際にはどちらの依存関係も必須ではありません。 Android Studioはいくつかの依存関係を置くだけで、開発者はあらゆるプロジェクトで使用するでしょう。

ここでは、削除した依存関係のリストです:

  • 'com.android.support.test.espresso:エスプレッソコア:2.2.2' - 提供 Espressoテストフレームワークは、 UI のテスト用のAPIを作成します。 アプリケーションのUIテストを作成する場合にのみ必要です。

  • 「junit:junit:4.12」 - JUnitあなたのユニット を書き込むためのテストフレームワークまたは統合テスト。テストを書くつもりがない場合は必要ありません。

  • 'com.android.support.constraint:constraint-layout:1.0.2' - フラットなビュー階層(ネストされたビューグループなし)を使用して大きく複雑なレイアウトを作成できるViewGroup。この依存関係は、プロジェクトにConstraintLayoutを使用する場合に必要です。必要がない場合は、この依存関係を削除できます。

0

librarieは、AndroidStudioのグ​​ラフィックインターフェイスでレイアウトをより簡単に作成できるようにするため、ConstraintLayoutを削除しました。

ユニットとUIテストを作成するためのライブラリ。

これらは必須ではありませんが、無駄ではありません。実際には、この点では多くの依存関係はありません。

私の英語のために残念です。

このヘルプが必要です。

+0

回答を編集してください。私はデザインライブラリを削除したことはありません。 – user8069029

+0

@ user8069029あなたは 'com.android.support.constraint:constraint-layout:1.0.2'を削除しました。新しい制約レイアウトを使用するのは依存関係です。それを使用しない場合は、この依存関係も削除することができます。 – Prexx

0

のは、それらのそれぞれ見ていきましょう:

エスプレッソ

androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' })

これはテストライブラリです。それはあなたが特定の条件のためにテストし、テストするかもしれないあなたのアプリを通して動く自動化されたテストを書くことを可能にする。androidTestCompileに注意してください - これはあなたが通常のコンパイル

制約レイアウト

compile 'com.android.support.constraint:constraint-layout:1.0.2'

を行うときにこれがどの新しいViewGroupある自動テストのためにアプリをコンパイルしていないときにのみ付属されることを意味しGoogleは現在、RelativeLayoutの代わりに使用することを推奨しています。はるかに柔軟性があり、非常に複雑なレイアウトではパフォーマンスが向上する可能性があります。あなたがしたくない場合は、あなたはそれを使う必要はありません。

JUnitの

testCompile 'junit:junit:4.12'

これは、別のテストライブラリです。これは単体テストの実行に使用されます。再度testCompileに気付く - このライブラリは、単体テストを実行するためのビルドにのみ含まれ、通常のコンパイル時にはあなたのアプリには含まれません。ライブラリの

概要

なし無用ではありません。しかし、それはあなたの目的のためにそれらのいずれかを必要としない可能性があります。どちらのテストライブラリでも、依存関係を安全に残すことができ、実際のアプリケーションコンパイルには影響しません。

関連する問題