Androidスタジオ:jar as libraryを追加しますか?

Ozzie 08/31/2017. 30 answers, 600.958 views
android android gradle android-studio android-studio dependency-management

私は新しいAndroid Studioを使用しようとしていますが、正しく動作させることができません。

私はGsonライブラリを使用してJSONオブジェクトをシリアライズ/デシリアライズしています。 しかし、ライブラリは何とかビルドに含まれていません。

just a MainActivity新しいプロジェクトを作成しました。 / libsフォルダにgson-2.2.3.jarをコピーし、ライブラリとして追加しました(右クリック→ライブラリとして追加)。 これにはアンドロイドスタジオのjarファイルが含まれているので、ソースファイルから参照することができます。

私がプロジェクトを実行しようとするとコンパイルできないので追加しました:

compile files('libs/gson-2.2.3.jar') 

.gradleファイルの依存関係。 その後、正しくコンパイルされますが、アプリケーションを実行するときにClassDefNotFoundExceptionます。

誰かが私が間違っていることを知っていますか?

30 Answers


lepoetemaudit 07/12/2016.

私は何時間も同じことに苦しんできました.Gsonの瓶をあまり働かせようとはしませんでした。 私はついにそれをひっくり返した - ここに私が取ったステップがある:

  1. Gson jar(私の場合はgson-2.2.4.jar )をlibsフォルダに入れます
  2. 右クリックして[ライブラリとして追加]をクリックします
  3. 多くのjarファイルを使用している場合は、 compile files('libs/gson-2.2.4.jar')build.gradleファイルにあることを確認します(またはcompile fileTree(dir: 'libs', include: '*.jar')
  4. クリーンビルドを実行してください(おそらく、Android Studioでこれを行うことはできますが、端末のルートフォルダにナビゲートして、 gradlew cleanにするようにしてください)。Mac OS Xではコマンドが異なる場合がありますあなたのシステム

私は上記の4つをした後、それは正常に動作し始めた。 私は 'ライブラリとして追加'のステップは私が以前に逃していたものだと思うし、それを掃除するまでは機能しませんでした。

[編集 - 他の人が指摘しているように、必要なbuild.gradleステップを追加しました]

5 comments
6 František Žiačik 05/25/2013
gradlewクリーンも私を助けた。 どうもありがとう!
159 J c 05/27/2013
各jarファイルに明示的に行を追加する必要がない場合は、 compile fileTree(dir: 'libs', include: '*.jar')
61 Joe 07/17/2013
私はgradleの一時的な依存関係管理を利用し、mavenCentral()からgsonをダウンロードすることをお勧めします(インターネット接続が必要な場合はrepositories { mavenCentral() }を追加し、 compile files(...) compile 'com.google.code.gson:gson:2.2.4'は自動的にjarファイルをダウンロードして管理します。これにより、SCMはライブラリではなくソースコードファイルのみを追跡できます。
29 Yster 08/10/2014
手順2で[ライブラリとして追加]オプションが表示されません。
5 Brian Marick 01/16/2015
Android Studio 1.0.2では、この行はすでにデフォルトのbuild.gradleれているため、手順2と3は不要です:fileTree(dir: 'libs'、include:['* .jar'])

ZenBalance 12/18/2015.

ローカルjarファイルをライブラリとしてモジュールに追加する手順は次のとおりです。

  1. モジュールディレクトリ( 'src'ディレクトリを含む同じディレクトリ)の最上位に 'libs'フォルダを作成し、

  2. build.gradle fileで、依存関係のクロージャーに次のように追加します。

    dependencies {
        // ... other dependencies
        compile files('libs/')
    } 
  3. Android Studioは、既にgradlewラッパーを設定しているはずです。 コマンドラインから、プロジェクトの最上位レベル( gradlewファイルを持つディレクトリ)にgradlewます。

    ./gradlew assemble実行して./gradlew assemble 。 これはライブラリとプロジェクトをコンパイルする必要があります。 必要に応じて、build.gradleファイルのエラーを修正する必要があります。

  4. Android StudioでIDEでのコーディング中にサポート用のライブラリとしてローカルjarファイルを認識させるには、さらにいくつかのステップを実行する必要があります。

    4.1。 左側のパネルのモジュールを右クリックし、 Open Library Settingsを選択します。

    4.2。 ダイアログの左側のパネルで、「 Libraries 」を選択します。

    4.3。 左から2番目のパネルの上にある+記号をクリックしJava - > Java

    メニュー

    4.4。 ローカルjarを選択し、プロジェクトに追加します。

  5. 上記の./gradlewコマンドを./gradlew実行する必要があるかもしれません

3 comments
4 Peter Arandorenko 01/19/2014
私のためにステップ#2はそれをしました。 ありがとう。
Phil Freihofner 05/01/2015
これは私のために働いた。 私はUbuntuにAndroid Studioバージョン1.2 Build 141.1890965を持っています。 なぜAndroid Studio 2.5以降で「あなたは」と言っていますか? それはWindows / Mac上で別のバージョンですか? (1a)これを見つけるのは難しいことでした。 コンボボックスは、プロジェクト構造領域の左上にあります。 「Android」ではなく「Project」を選択し、「app」を展開する必要があります。 (1b)「追加」オプションは表示されませんでしたが、「ペースト」が機能しました。 (2)私は "fileTree(dir: 'libs'、[:* .jar ']を含む)をコンパイルしていましたが、あなたの明示的な単一行を追加しなければなりませんでした。 (4,5)は一度も必要ない(3)うまくいった。 ありがとう!
Rahul Rastogi 05/18/2015
あなたが追加したスクリーンショットのために1プラス。

Ganesh Pandey 09/06/2015.

プロジェクトのright click

-> new -> module
-> import jar/AAR package
-> import select the jar file to import
-> click ok -> done 

以下のスクリーンショットに従ってください:

1:

ステップ1

2:

ここに画像の説明を入力

3:

ここに画像の説明を入力

あなたはこれを見るでしょう:

ここに画像の説明を入力

5 comments
Ganesh Pandey 09/20/2016
@CamConnor私もそうだと思う..他の答えは時代遅れです
sudobomb 09/20/2016
はい、これは受け入れられる回答でなければなりません
Alessandro 11/23/2016
これが答えです
1 Dave 12/18/2016
しかし、それはライブラリーとして認識されません。 たとえば、andriod studio editor:インポートされたjarでパッケージをインポートしようとしましたが、認識されません。
Dave 12/18/2016
この方法でインポートしたモジュールを削除する方法が見つかりませんでした。

saneryee 05/23/2017.

Android StuidoではGradを使ってGsonのライブラリを管理するのが好きです。

build.gradleファイルに以下の依存関係を追加します。

repositories {mavenCentral()}

dependencies {compile 'com.google.code.gson:gson:2.2.4'} 

全て大丈夫。

この投稿を見ることもできます。 第三者図書館をAndroidスタジオに統合する最善の方法

4 comments
2 j2emanue 11/07/2014
これは、中央リポジトリを使用する正しい方法です。
Gary Drocella 05/04/2015
このメソッドは、Mavenを使用しているため、最高です。
1 Kitalda 06/16/2015
バージョン番号を最新のものに更新することを忘れないでください:)今のところ2.3.1ですが、 リンクを確認してください
Sam 11/23/2016
これが働く唯一のものです!

Jukurrpa 09/02/2015.

IIRCでは、単に「ライブラリとして追加」を使用するだけでは、プロジェクトでコンパイルするには不十分です。

ライブラリをプロジェクトに追加する方法についてIntellijのヘルプをチェックする

あなたに最も関心のある部分はこれです:

File > Project Structure )モジュール設定を開き、[依存関係]タブを選択します。

[依存関係]タブで[追加]をクリックし、[ライブラリ]を選択します。

「ライブラリの選択」ダイアログで、1つまたは複数のライブラリを選択し、「選択項目の追加」をクリックします。

ライブラリがダイアログに表示されない場合は、モジュールのすぐ下にあるライブラリ設定で追加します。

compile files()もう追加compile files()必要はありません。ライブラリをプロジェクトに正しく追加する必要があります。

5 comments
Ozzie 05/17/2013
ライブラリとして追加すると、すでに同じようにjarが追加されます。 だから私は結果が同じだと思う。 私は後で試してみる。
jhirsch 05/18/2013
ライブラリがこれをうまくやっているように追加 - 私はOzzieと同じボートにいる - 同じ問題。
Jukurrpa 05/18/2013
申し訳ありませんが、ライブラリとして追加することはライブラリリストに追加するだけで、モジュールの依存関係については追加しないと思いました。
Matt Holgate 10/22/2013
私はこれを試してみたところ、コンパイルファイル()の行をbuild.gradleファイルに追加しましたが、ライブラリ(/libs/foo.jar)への絶対パスを使用しているようです。 これらを相対パス(libs / foo.jar)に変更して、問題を解決しました。
1 android learner 03/12/2015
ありがとうございました..その保存された私の日

Helzgate 07/29/2016.

これらのソリューションはすべて古くなっています。 今Android Studioで簡単にできます:

ファイル>新規モジュール...

次の画面は奇妙に見えますが、ウィジェットなどを選択して最初の画像とスクロールしたままにして、「Import JAR or .AAR Package」を見つけてください。

開いたウィンドウからappを選択し、 dependenciesを選択し、 green plus buttonmodule dependencyを選択して、インポートしたモジュールを選択してから、 OKを押します。

2 comments
Gary Drocella 05/04/2015
私は、Mavenを使うことは、特に大規模なプロジェクト、つまりsaneryeeによって提供されるより良い解決策であると考えています。
Daniele Testa 10/11/2015
これも時代遅れのようです。 .jarファイルを "libs"ディレクトリに置くだけで、自動的にプロジェクトにコンパイルされます。 Android Studio 1.4にはデフォルトのルール設定が既にあり、 "libs"ディレクトリのすべての* .jarファイルが含まれています。

user2084396 10/11/2013.

'コンパイルファイル...'は私のために働いていましたが、それ以上はありません。 多くの痛みの後、私はこれを代わりに使用することがわかりました:

compile fileTree(dir: 'libs', include: '*.jar')

なぜ私はそれが違いを生み出したのか分かりませんが、少なくとも今のところはうまくいきます。

1 comments
1 scottyab 07/09/2014
これは私のために働いていますが、最近あなたがgradle syncを行うまでASが新しい/更新されたjarファイルを受け取らないことがあります。

Vinayak Bevinakatti 05/12/2017.

Android Studio外部ライブラリを追加する簡単な手順

  1. プロジェクトエクスプローラでAndroidビューにいる場合は、以下のようにProjectビューに変更してください

ここに画像の説明を入力

  1. 外部ライブラリを追加したいモジュールを右クリックし、 New > Directroyを選択して、 ' libs 'という名前を付けます。
  2. blah_blah.jarを ' libs 'フォルダにコピーします。
  3. blah_blah.jarを右クリックし、[ Add as Library.. ]を選択します。 これは自動的にbuild.gradlecompile files('libs/blah_blah.jar')として追加して入力し、 compile files('libs/blah_blah.jar')を同期させます。 そしてあなたは終わった

Please Note :サードパーティライブラリを使用している場合は、gradleスクリプトが実行されるときにGradleスクリプトが自動的にJARと依存関係JARをダウンロードするdependenciesを使用dependencies方がよいでしょう。

例:compile 'com.google.android.gms:play-services-ads:9.4.0'

Gradle Dependency Mangementの詳細を読む

1 comments
Saurabh Bhandari 05/11/2017
jarファイルをライブラリとして追加するのが最善の方法です

sansa 07/24/2015.
  1. ウェブサイトからライブラリファイルをダウンロードする
  2. Windowsエクスプローラからのコピー
  3. プロジェクトエクスプローラからlibフォルダに貼り付ける
  4. Ctrl + Alt + Shift + Sプロジェクト構造を開く
  5. 依存関係タブを選択し、+を使用してファイルを追加します。
  6. ツールバーボタンを使ってグラデーションファイルとプロジェクトを同期させる

それが私の問題を解決しました。 試してみてください。


Fergara 09/11/2015.

build.gradleに1行追加するだけで動作させました:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar']) ----> AS creates this
    compile 'com.google.code.gson:gson:2.3.1'   ----------> I added this one
    } 

右上の「今すぐ同期」をクリックすることを忘れないでください。

私はAndroid Studio 1.0.1を使用しています。

1 comments
Thufir 07/08/2017
fileTree行が何をしているのかfileTreeしますか?

Sandeep 10/29/2015.

1. libsフォルダにjar gson-2.2.4.jar (私の場合はgson-2.2.4.jar )を入れます。

2.コンパイルファイル( libs/gson-2.2.4.jar )がbuild.gradleファイルにあることを確認します。

3.今度は、「Gradleファイルを含むプロジェクトを同期させる」をクリックします(左上のAVDマネージャボタンをトップバーに置きます)。

私は上記の3つをした後、それは正常に動作し始めた。


A.B. 07/23/2016.

Android StudioのDependency Managerは、サードパーティの依存関係を管理するのに非常に便利で強力です(ここでgsonのように)。 私のために働いたステップバイステップガイドを提供しています(注:これらの手順は、Androidプラットフォーム1.6以降のWindowsプラットフォームでテストされています)。

Step-1: "ビルド>ライブラリと依存関係の編集..."に進み、ダイアログ "プロジェクト構造"を開きます。

ここに画像の説明を入力

Step-2: "アプリ"を選択し、 "依存関係"タブを選択します。 次に、 "Add> 1 Library dependency"を選択します。

ここに画像の説明を入力

Step-3: 「ライブラリの依存関係を選択」ダイアログが表示され、検索に「gson」と指定して「検索ボタン」を押すと、

ここに画像の説明を入力

Step-4:検索リストに目的の依存関係が表示され、com.google.code.gson:gson:2.7(これは回答を書いた時点の最新バージョン)を選択し、OKを押します

ここに画像の説明を入力

「プロジェクトの構造」ダイアログでOKを押します。 Gradleはそれに従ってビルドスクリプトを更新します。

ここに画像の説明を入力

Hope this would help :)

2 comments
A.B. 08/23/2016
私はこのアプローチでいくつかの問題を発見した、コモンズ - io - 2.5を使用するアプリで働いている。 アプリをGoogle Developer Consoleにアップロードすると、署名付きapkでサポートされているデバイスが0個表示されます。 徹底的な調査の末、app / libs / commons-io-2.5.jarの下にjarファイルを置き、graldeの依存関係を 'compile files(' libs / commons-io-2.5.jar ')のように更新する必要があることが分かりました。 '、私がここで間違って何をしているのか、なぜドキュメントがこれをカバーしていないのか分からない。
imsrgadich 08/10/2017
これが動作する方法です。 他のすべての回答は機能しませんでした。 Android Studio 2.3.3

NarenderNishad 03/23/2015.

libsフォルダの.jarファイルをダウンロードしてコピーし、build.gradleに次の行を追加します。

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.code.gson:gson:2.3.1'
} 

「今すぐ同期」をクリックすることを忘れないでください。

Androidスタジオ1.1.0


Pankaj kumar 06/23/2015.

Eclipseとは異なり、jarをダウンロードして/ libsフォルダに入れる必要はありません。 Gradleは、Gradleの依存関係を追加するだけで済みます。Gradleはそれをダウンロードして、gradle cacheに入れます。

依存関係を次のように追加する必要があります。

依存関係{compile 'com.google.code.gson:gson:2.2.4'}

thats itしかし、私たちはjarをダウンロードしてライブラリとして追加することもできますが、ベストプラクティスはGradleの依存関係を追加することです。

1 comments
1 chathura 08/26/2015
どのように追加する依存関係の行を知っている? どこで見つけることができますか?

huseyin 01/20/2015.

これには2つのオプションがあります。

最初の簡単な方法。

.jarファイルをクリップボードにコピーし、libsフォルダに追加します。 プロジェクト内のlibsフォルダを見るには、フォルダの上のコンボボックスからプロジェクトを選択します。

.jarファイルを右クリックしてライブラリとして追加をクリックし、モジュールを選択してOKをクリックします。 依存関係ブロック内のbuild.gradleファイル内の.jarファイルを見ることができます。

dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
        compile project(':okhttp-2.0.0')
        compile 'com.google.code.gson:gson:2.3.1'
    } 

第2の方法は次のとおりです。この.jarファイルを.jarモジュールとしてインポートし、必要なモジュールにこのモジュールを追加することで、.jarファイルをモジュールに追加できます。

import module ---> .jarファイルを選択する - > .jarとしてインポートする - ここに画像の説明を入力

次にCtrl + Alt + Shift + S - >プロジェクト構造 - > jarを追加するモジュール - > Dependencendies - > Module Dependencyを選択します。 モジュールのbuild.gradleは自動的に更新されます。 ここに画像の説明を入力

1 comments
Aviv Ben Shabat 01/26/2015
ニース。 1つの編集 - それは今 "新しいモジュール"(Android Studio 1.0.1)です。 "インポートモジュール"は別のウィザードにあなたを送ります..

Elshan 07/14/2016.

私は3 stepsとその仕事の魅力の上で私のためにやった。

(I am using Android Studio 2.1.2)

ここに画像の説明を入力

Step 1

  • build.gradle(Module:app)下にあるcompile 'com.squareup.okhttp3:okhttp:3.3.1' buildスクリプトにjar package name (例としてcompile 'com.squareup.okhttp3:okhttp:3.3.1'ます)を追加します。

ここに画像の説明を入力

Step 2: appフォルダ-> New -> Module右クリックします。

ここに画像の説明を入力

Step 3: Import JAR/.AAR Packageクリックし、パッケージを参照します。 例として: OkHttp.jar

ここに画像の説明を入力


vuhung3990 01/30/2015.
menu File -> project struct -> module select "app" -> dependencies tab -> + button 
-> File dependency -> PATH/myfile.jar 

Aby Mathew 07/23/2015.

Androidプロジェクトのlibsフォルダに.jarファイルを置くだけです。

compile fileTree(dir: 'libs', include: ['*.jar'])

アプリのgraddleファイルのこのコード行は残りの部分を処理します。

Happy Coding :)


フォルダlibsを作成します。 .jarファイルを追加します。 それを右クリックするとjarを依存関係として追加します。 クリックして。 そのすべてをする必要があります。 build.gradleファイルに追加された依存関係を見つけることができます。


idris yıldız 07/13/2015.

1)Project / app / srcフォルダ内に 'your_libs'フォルダを作成します。

2)jarファイルをこの 'your_libs'フォルダにコピーします

3)Android Studioで、「ファイル」 - >「プロジェクト構造」 - >「依存関係」 - >「追加」 - >「ファイル依存関係」の順に進み、jarファイルに移動します。これは 'src / your_libs'

3)jarファイルを選択し、「OK」をクリックします。

あなたはbuild.gradleで次のように見ることができます:ファイルをコンパイルする( 'src / your_libs / your.jar')


mbo 07/13/2015.

android Studio 1.1.0。 私は以下の手順でこの問題を解決しました:

1:libsディレクトリにjarファイルを入れます。 (Finderで)

2:モジュールの設定を開き、依存関係に移動し、左下にプラスボタンがあります。 プラスボタンをクリックし、 "ファイルの依存関係"を選択します。ここでjarファイルを見ることができます。 それを選択すると解決されます。


IntelliJ Amiya 12/02/2015.

ステップ1: app folder下に、 libsが表示されていない場合はそれを表示し、 then create itます。

ステップ2: Drag & Drop the .jar file hereDrag & Drop the .jar file here "This file does not belong to the project"というプロンプトが表示されます。 "This file does not belong to the project" OK "This file does not belong to the project"ボタンをクリックします。

ステップ3: jar file under libs folderたら、 jar file under libs folder右クリックして"Add as library", Click OK for prompt "Create Library" ]を選択し"Add as library", Click OK for prompt "Create Library"

ステップ4:このjarが追加されました。

ここに画像の説明を入力


user2573236 07/11/2013.

Mac OS Xの場合:

  1. jarをライブラリとして追加する(jarをlibsにドラッグし、右クリックしてlibとして追加)

  2. build.gradeにcompile文を追加する

  3. gradle v1.6をインストールgradle v1.6 (自作を使用する)

    • brew install gradle
    • gradle -v
    • v1.6でない場合は、自作
  4. グラデルクリーン(アンドロイドは再構築されませんでした)

これは私を分類した。


Christina 12/27/2014.

前にも指摘したように、

compile files('libs/gson-2.2.3.jar') 

build.gradleファイルに追加します。

しかし私はEclipseから移行されたAndroid Studioにプロジェクトを持っています。この場合、 "libs"フォルダは "lib"という名前になっていますので、問題を解決した "s"を削除します。


Binod 07/08/2014.

Studioのベータ版0.8.1でテストされたcompile files(...)compile files(...)ないでcompile fileTree(dir: 'libs', include: '*.jar')


iberodev 09/25/2014.

私の答えは、基本的に上記で提供されている正しいが不完全な回答のいくつかを集めています。

  1. build.gradleを開く
  2. 以下を追加してください:

    dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.code.gson:gson:2.3'
    } 

    これにより、依存関係を追加する2つの異なる方法がサポートされます。 compile fileTree(dir: 'libs', include: ['*.jar']) (@Binodのように)はlibsの下にANY jarを探すようにコンパイラに指示します。 私たちのアプリケーションが使用する必要のあるjarパッケージを含むこのようなフォルダ 'libs'を作成することは良い習慣です。

しかし、これはMavenの依存関係のサポートも可能にします。 コンパイル'com.google.code.gson:gson:2.3' (@ saneryeeで述べたように)は、/ libsの "ローカルリポジトリ"ではなく、中央のリモートリポジトリにある依存関係を追加するためのもう1つの推奨方法です。 基本的には、そのパッケージのバージョンを探すためにgradleに伝えています。プロジェクトをコンパイルするときにコンパイラに考慮させるように指示しています(クラスパス内にあります)

PS:私は両方を使う


user2779311 02/01/2015.

新しいAndroid 1.0.2の場合は、build.gradleファイルに次のファイルが既にあります

コンパイルfileTree(include:['* .jar']、dir: 'libs')

あなたのlibsフォルダにライブラリjarを追加する - >ライブラリを右クリックする - >ライブラリとして追加をクリック - >プロジェクトを追加する - >プロジェクトを選択する - > okをクリックする次の行が自動的にビルドに追加されます.gradle

コンパイルファイル( 'libs / android-query.jar')

それは私のためにそれをしました。 それ以上のものは必要ありませんでした。 私はandroid aqueryのためにこれをアンドロイド用の別の第三者図書館に示しました。


parasrish 06/08/2015.
  1. "app"のレベルに "libs"フォルダを追加しました。
  2. このプロジェクトのすべての "jar"を追加しました。
  3. 次に、 "libs"フォルダ内のすべてのjarを選択し、
  4. 選択した項目を右クリックして「ライブラリを追加」と言うと、
  5. プロジェクトエクスプローラそのものの中にjars expansionオプションがあります。

私は "CTRL + ALT + SHIFT + S - >プロジェクト構造 - > app-module - > Dependencies"は既に "(dir: 'libs'、include: '* .jar')"コンパイルオプション "を使用します。 上記の手順に従ってjarファイルを追加した後、build.gradleは新たに追加されたjarファイル自体のエントリを取得します。


Ranjith Kumar 05/11/2016.

Android Studio 2.1では、私はこのようにしています。

app - > src-> main-> assetsフォルダ(使用できない場合は作成します) - > JARファイルを置く

ここに画像の説明を入力

あなたのbuild.gradleでこのような依存関係を追加すると、

compile files('src/main/assets/jsoup.jar')
compile files('src/main/assets/org-apache-xmlrpc.jar')
compile files('src/main/assets/org.apache.commons.httpclient.jar')
compile files('src/main/assets/ws-commons-util-1.0.2.jar') 

今同期する。 これでJARファイルの使用準備が整いました。

2 comments
Deni Erdyneev 05/12/2016
なぜlibsディレクトリを使用しないのですか?
Ranjith Kumar 05/12/2016
@ErdeniErdyneev私は、jarファイルを格納するための別のアプローチを示します。 なぜ私は資産を使用していないのですか? 私のアプローチに問題はありますか? 私が間違っていると間違いを訂正する準備ができている

user3686646 05/29/2014.

これを行う :

アプリケーションフォルダの下にlibsフォルダを作成します。 .jarファイルをlibsフォルダに追加します。 その後、.jarファイルをappのbuild.gradle依存関係に追加します。 最後に、プロジェクトをGradleファイルと同期させます。

Related questions

Hot questions

Language

Popular Tags