web-dev-qa-db-ja.com

Android Studio:ライブラリとしてjarを追加しますか?

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

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

MainActivity だけで新しいプロジェクトを作成しました。/libsフォルダーに gson-2.2.3.jar をコピーし、それをライブラリー依存関係として追加しました(右クリック - >ライブラリーとして追加)。ソースファイルから参照できるように、これにはAndroidスタジオのjarファイルが含まれています。

プロジェクトを実行しようとすると、コンパイルできないため、次のように追加しました。

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

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

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

981
Ozzie

私は何時間も同じことに苦労していましたが、Gson jarを動かそうとしました。私はついにそれをクラックしました - これが私が取ったステップです:

  1. Gsonのjarファイル(私の場合はgson-2.2.4.jar)をlibsフォルダーに入れます。
  2. それを右クリックして「ライブラリとして追加」をクリックしてください。
  3. compile files('libs/gson-2.2.4.jar')build.gradleファイルに含まれていることを確認します(または、多数のjarファイルを使用している場合はcompile fileTree(dir: 'libs', include: '*.jar')

    編集:Android Studio 3.0以降でimplementation files('libs/gson-2.2.4.jar')(またはimplementation fileTree(dir: 'libs', include: '*.jar'))を使用する

  4. クリーンビルドを実行します(おそらくAndroid Studioでこれをうまく行うことができますが、端末でアプリのルートフォルダに移動してgradlew cleanと入力したことを確認するためです。MacOS Xの場合、コマンドはユーザーによって異なりますシステム

私が上記の4つをした後、それはうまく働き始めました。 「ライブラリとして追加」というステップは、以前に見逃していたものであり、クリーンアップするまで機能しませんでした。

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

1496
lepoetemaudit

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

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

  2. build.gradle fileに以下を追加して、依存関係クロージャーが以下のようになるようにします。

    dependencies {
        // ... other dependencies
        compile files('libs/<your jar's name here>')
    }
    
  3. Android Studioはすでにgradlewラッパーをセットアップしているはずです。コマンドラインから、プロジェクトの最上位レベル(gradlewファイルがあるディレクトリ)に移動します。

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

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

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

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

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

    Menu

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

  5. 上記の./gradlewコマンドをもう一度実行する必要があります。

265
ZenBalance

プロジェクト内で 右クリック

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

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

1:

Step 1

2:

enter image description here

3:

enter image description here

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

enter image description here

108
Ganesh Pandey

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

プロジェクトへのライブラリの追加については、 Intellijのヘルプ を確認してください。

最も興味を引くはずの部分はこれです。

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

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

Choose Librariesダイアログで、1つ以上のライブラリを選択してAdd Selectedをクリックします。

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

もうcompile files()を追加する必要はなく、ライブラリはプロジェクトに正しく追加されるべきです。

47
Jukurrpa

Android Stuidoでは、Gson libを管理するためにGradleを使うのが好きです。

Build.gradleファイルに以下の依存関係を追加してください。

repositories {mavenCentral()}

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

全て大丈夫。

こちらの記事もご覧になれます。 Androidスタジオにサードパーティのライブラリを統合するための最良の方法

46
saneryee

これらすべての解決策は時代遅れです。 Android Studioでは、とても簡単です。

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

次の画面は奇妙に見えます。ウィジェットを選択しているように見えますが、最初の図の下に表示したままスクロールして「Import JAR or .AAR Package」を見つけます。

それからFileメニューからProject Structureを選びます。開いたウィンドウからappを選び、dependenciesを押し、次にgreen plus buttonを押し、module dependencyを選び、そしてインポートしたモジュールを選び、そしてOKを押します。

40
Helzgate

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

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

enter image description here

  1. 外部ライブラリを追加する目的のモジュールを右クリックして、New> Directroyを選択し、「libs」という名前を付けます。 '
  2. blah_blah.jarを 'libs'フォルダーにコピーします
  3. Blah_blah.jarを右クリックし、「ライブラリとして追加..」を選択します。これにより、build.gradlecompile files( 'libs/blah_blah.jar')として自動的に追加およびエントリされ、gradleが同期されます。これで完了です

注意してください:サードパーティのライブラリを使用している場合は、dependenciesここで、Gradleスクリプトは、gradleスクリプトの実行時にJARと依存関係JARを自動的にダウンロードします。

例: 'com.google.Android.gms:play-services-ads:9.4.0'をコンパイルします

Gradle Dependency Mangement の詳細を読む

35

「ファイルをコンパイルしています...」は以前は機能していましたが、それ以上は機能しません。多くの苦痛の後、私は代わりにこれを使用することがうまくいくことがわかりました:

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

それがなぜ違いを生み出したのか私にはわかりませんが、少なくともいまいましいことは現在うまくいっています。

33
user2084396

Build.gradleに1行追加するだけでうまくいきました。

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

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

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

17
Fergara
  1. Webサイトからライブラリファイルをダウンロードする
  2. Windowsからコピーする
  3. プロジェクトエクスプローラからlibフォルダに貼り付けます
  4. Ctrl+Alt+Shift+S プロジェクト構造を開く
  5. [依存関係]タブを選択し、+を使用してファイルを追加します。
  6. ツールバーボタンを使用してプロジェクトをgradleファイルと同期する

これで私の問題は解決しました。誰かがもっと詳細を知りたいのなら私に知らせてみてください。

17
sansalk

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

Step-1: 「ビルド>ライブラリと依存関係の編集...」を選択すると、ダイアログ「プロジェクトの構造」が開きます。

enter image description here

Step-2: "app"を選び、次に "Dependencies"タブを選ぶ。次に「追加> 1ライブラリの依存関係」を選択します。

enter image description here

Step-3: "ライブラリの選択"ダイアログが表示されますので、検索に "gson"を指定して "検索ボタン"を押してください。

enter image description here

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

enter image description here

[プロジェクト構造]ダイアログで[OK]をクリックします。それに応じて、Gradleはビルドスクリプトを更新します。

enter image description here

これが助けになることを願います:)

13
A.B.

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

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

3. [プロジェクトをGradleファイルと同期する]をクリックします(左上のAVDマネージャボタン)。

私が上記の3つをした後、それはうまく働き始めました。

11
Sandeep

あなたは2つのオプションでこれを行うことができます。

最初の簡単な方法.

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

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

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

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

インポートモジュール---> .jarファイルとして選択 - > .jarとしてインポートするより - enter image description here

それからCTRL + ALT + SHIFT + S - >プロジェクトの頑丈さ - > jarを追加したいモジュールを選択してください - > Dependencendies - > Module Dependency。モジュールのbuild.gradleは自動的に更新されます。 enter image description here

9
huseyin

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

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

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

9
NarenderNishad

.jarファイルをAndroidプロジェクトのlibsフォルダーに置きます。

次に、このコード行をアプリのgradleファイルに追加します。

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

Android gradle plugin 3.0以降では、代わりにこれを使用することをお勧めします。

    implementation fileTree(dir: 'libs', include: ['*.jar'])
7
Aby Mathew

Eclipseとは異なり、jarをダウンロードして/ libsフォルダーに置く必要はありません。 Gradleは、Gradleの依存関係を追加するだけでよいこれらの処理を行い、Gradleはそれをダウンロードしてgradleキャッシュに入れます。

依存関係を追加する必要があります。

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

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

7
Pankaj kumar

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

(私はAndroid Studio 2.1.2を使用しています)

enter image description here

ステップ1

  • build.gradle(Module:app)の下のgradleビルドスクリプトにjarパッケージ名(例としてcompile 'com.squareup.okhttp3:okhttp:3.3.1')を追加します。

enter image description here

ステップ2:アプリフォルダを右クリック- >新規 - >モジュール

enter image description here

手順3:JAR/.AARパッケージのインポートをクリックして_パッケージを参照します。例として: OkHttp.jar

enter image description here

7
Elshan

Android Studio 3以降の場合:

Appフォルダーの直下のlibsフォルダーにjarファイルをコピーするだけでいいのです。

... myproject\app\libs\myfile.jar

次に、「プロジェクト」ウィンドウのドロップダウンから「プロジェクトファイル」を選択し、プロジェクトを右クリックし、「同期」を選択してプロジェクトファイルにファイルを表示します。それは自動的にgradleファイル(Module:app)に依存関係を追加します。

dependencies {
...
    implementation files('libs/myfile.jar')

これは別の解決策です:

[プロジェクトファイル]ビューに移動します(ドロップダウンから[プロジェクトファイル]を選択します)。

enter image description here

New ... Directoryを選択し、appの直下にlibsという名前のフォルダを作成します。

enter image description here

ファイルエクスプローラを開き、jarファイルをlibsフォルダにコピーして貼り付けます。

Android Studioでjarファイルを右クリックし、ポップアップメニューから[ライブラリとして追加]を選択します。

enter image description here

このファイルは、gradleファイルの依存関係リストにリストされているはずです。

dependencies {
...
    implementation files('libs/myfile.jar')
}

Javaファイルを開き、そこにimportステートメントを追加します。

import com.xxx.xxx;
6
live-love
menu File -> project struct -> module select "app" -> dependencies tab -> + button 
-> File dependency -> PATH/myfile.jar
5
vuhung3990

1)Project/app/srcフォルダ内に 'your_libs'フォルダを作成してください。

2)この 'your_libs'フォルダにjarファイルをコピーしてください。

3)Android Studioで、[ファイル] - > [プロジェクト構造] - > [依存関係] - > [追加] - > [ファイル依存関係]の順に選択し、jarファイル( 'src/your_libs'の下)に移動します。

3)jarファイルを選択して[OK]をクリックします

それから、build.gradleに次のように表示されます。ファイルのコンパイル( 'src/your_libs/your.jar')

4
idris yıldız

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

私はここですべての答えを読みました、そしてそれらはすべてAndroid Studioの古いバージョンをカバーしているようです!

Android Studio 2.2.3で作成したプロジェクトでは、libsの下にappディレクトリを作成し、そこに私のjarファイルを配置する必要がありました。私はファイルマネージャを使ってそれをしました、アンドロイドスタジオで何かをクリックしたり、編集する必要は全くありません。

なぜうまくいくの?開く ライブラリと依存関係を作成/編集する そして、あなたは見るでしょう:

{include=[*.jar], dir=libs}
4
0xF

ステップ1:今すぐあなたのapp folderの下にlibsが見えていなければ それから作成してください

ステップ2:Drag & Drop the .jar file here、プロンプトが出るかもしれません"This file does not belong to the project"OKボタンをクリックしてください。

ステップ3:これでlibsフォルダの下のjarファイルが表示されます。jarファイルを右クリックして"Add as library", Click OK for Prompt "Create Library"を選択します。

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

enter image description here

4
IntelliJ Amiya

Android Studio 1.1.0の場合私は以下のステップでこの問題を解決しました:

1:jarファイルをlibsディレクトリに置きます。 (ファインダー内)

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

4
mbo
  1. libsレベルにappフォルダーを追加しました。
  2. このプロジェクトにすべてのjarsを追加しました。
  3. 次に、libsフォルダー内のすべてのjarを選択します。
  4. 選択したアイテムを右クリックしてadd libraryと言う
  5. その後、プロジェクトエクスプローラ自体の中に、jar展開オプションがあります。

私は観察した CTRL + ALT + SHIFT + S - >プロジェクト構造 - > app-module - > Dependenciesには、最初は(dir: 'libs', include: '*.jar')の下にcompile-optionのエントリがありました。そして上記の手順でjarを追加した後、build.gradleは新しく追加したjarのエントリを取得しました。自体。

3
parasrish

先ほど指摘したように、あなたは追加しなければならない

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

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

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

3
Christina

Android Studio 2.1 このようにして、

Goto app - > src-> main - > assets folder(利用できない場合は作成してください) - > JARファイルを置いてください

enter image description here

Build.gradleにこのような依存関係を追加します。

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

今すぐ同期JARファイルを使用する準備が整いました。

3
Ranjith Kumar

Mac OS Xの場合

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

  2. コンパイルステートメントをbuild.gradeに追加します

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

    • ブリュインストールグラドル
    • gradle -v
    • v1.6でない場合は、自作をアップグレード
  4. クリーングラドル(Androidの再構築は動作しませんでした)

これは私を整理しました。

3
user2573236

新しいAndroid 1.0.2の場合、build.gradleファイルには次のファイルが既に含まれています。

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

ライブラリjarをlibsフォルダに追加します - >ライブラリを右クリック - >ライブラリとして追加をクリック - >プロジェクトを追加するように要求します - >プロジェクトを選択 - > OKをクリック次の行が自動的に追加されます。 。グラドル

implementation files('libs/Android-query.jar')

それは私のためにそれをやりました。それ以上は必要ありませんでした。私はこれをAndroid AqueryのAndroid用の別のサードパーティライブラリ用に示しました。

2
user2779311

私の答えは基本的には上で提供された正しいけれども不完全な答えのいくつかを集めることです。

  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フォルダの下にある任意のjarファイルを探すようにコンパイラに指示します。私たちのアプリケーションが使用する必要があるjarパッケージを含むことになるそのようなフォルダー 'libs'を作成するのは良い習慣です。

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

シモンズ:私は両方を使う

2
iberodev

compile fileTree(dir: 'libs', include: '*.jar')は正常に動作しますがcompile files(...)はStudio Beta 0.8.1でテストされていません

1
Binod Singh

私はその理由を知りませんが、Gradleを使用してこれらのソリューションを実装しようとすると、Android Studio 0.8.14がおかしくなります。私はこの優れたビルドツールについての私の乏しい知識を認めますが、Studioは私のプロジェクトを何のために切り捨てていますか?私はそれをこのように動かせるようにすることに成功しました: 'libs'ディレクトリにそれからF4を入れて、そして私が私がAndroid-support-v13.jarを指したところにファイルの依存関係を加えます。

0
olyv

私の場合は 追加されたライブラリは依存関係を見逃していました しかし、残念ながらAndroid Studio(0.8.14)はこれを秘密にしています。

手動で何かを設定する必要はありませんでした。足りないライブラリを追加し、 app build.gradleファイルでデフォルトの依存関係設定を使用しました。

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

これを行う :

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

0
user3686646