2016-11-08 5 views
2

私はAndroidスタジオの初心者です。Androidスタジオ:どのように '依存関係'は機能しますか?ライブラリを更新するには?

私はこのライブラリhttps://github.com/2dxgujun/AndroidTagGroupを私のプロジェクトに統合しました。

私がにていたものすべてが、その指示に従うこと、したがって、(「依存関係」における)「アプリのGradleのファイル」に次の行を追加することです:

compile 'me.gujun.android.taggroup:library:[email protected]' 

そして、「同期」をクリックしてくださいアプリのgradleファイルのAndroidスタジオウィンドウの右上にあります。それは正しく動作します。すばらしいです !

それにもかかわらず、私は本当に、次のことを理解していない:

1) "ライブラリ:[email protected]" とは何を意味しませんか?それは単一のライブラリファイルですか?どこにフォルダがありますか?

2)Android Studioは、このライブラリがディスク上のどこにあるかをどのように知っていますか?私は私のすべてのAndroidプロジェクトをディスク上に持っているフォルダのルートにライブラリフォルダをコピー/貼り付けました。 Android Studioがライブラリを見つけるデフォルトの場所ですか?

3)このライブラリの内容を変更して再コンパイルするにはどうすればよいですか?たとえば、13sp(styles.xml内)を30spに変更し、ライブラリを "./gradlew assembleDebug"(GitHubで述べたように)で再コンパイルしましたが、クリーン/ビルド後でもプロジェクトには何の影響もありません...なぜですか?ところで、 "./gradlew assembleDebug"はどういう意味ですか?

ありがとうございました!

+0

:https://docs.gradle.org/current/userguide/artifact_dependencies_tutorial.html – Henry

答えて

3

「library:[email protected]」とはどういう意味ですか?それは単一のライブラリファイルですか?

は、この依存性は、ご覧のように

<groupId>me.gujun.android.taggroup</groupId> 
<artifactId>library</artifactId> 
<version>1.4</version> 

、あなたが持っているようのpom.xml形式で表現され、JCenterからAAR fileまたはMavenプロジェクトの場合Maven

を迫りますアーティファクトIDは「ライブラリ」と「1.4」はバージョン名に過ぎません。

Android Studioは、このライブラリがディスク上のどこにあるかをどのように知っていますか?

ファイルbuild.gradleには、次のようなセクションがあります。

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

allprojects { 
    repositories { 
     jcenter() 
     // mavenCentral() 
     // mavenLocal() // Some variant of these. 'jcenter' is the default 
    } 

は、お使いのOSによって異なりますが、すべてのGradle & Mavenの依存関係がダウンロードされる.gradleディレクトリまたはホームフォルダ内.m2ディレクトリがあります。例えば

私はこのライブラリで何かを変更し、それを再コンパイルしたい場合は、Gsonは、私のため

~/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar 

でいるのですか?

おそらく

この記事の範囲が広すぎるが、それは常に、あなたの変更をGitHubのソースを使用していないだろうので、あなたは、もはや

compile 'me.gujun.android.taggroup:library:[email protected]' 

を使用しないだろう。レポをクローンし、compile projectのGradleの機能を使用する必要があります。

"./gradlew assembleDebug"とはどういう意味ですか?

はGradleのラッパーを使用してプロジェクトのdebugビルドタイプにassemble taskを実行します。あなたは本当にそれはGradleのドキュメントを読んでどのように動作するかを知りたい場合は

+0

は、このより良い自分自身を言っていませんでした:) – anthonymonori

+0

OPは新しいものであるとAndroidには、彼は標準的なプロジェクトを使用していると思います。この場合、ライブラリはmavenではなくjcenterからフェッチされます。 – F43nd1r

+0

@ F43nd1rそうですが、Githubプロジェクトはビルドタグのものを使ってMaven Centralにリンクしました –

関連する問題