新しいAndroid Studioを使用しようとしていますが、正しく動作させることができないようです。
私は Gson ライブラリを使ってJSONオブジェクトをシリアライズ/デシリアライズします。しかし、ライブラリはどういうわけかビルドに含まれていません。
MainActivity だけで新しいプロジェクトを作成しました。/libsフォルダーに gson-2.2.3.jar をコピーし、それをライブラリー依存関係として追加しました(右クリック - >ライブラリーとして追加)。ソースファイルから参照できるように、これにはAndroidスタジオのjarファイルが含まれています。
プロジェクトを実行しようとすると、コンパイルできないため、次のように追加しました。
compile files('libs/gson-2.2.3.jar')
de .gradleファイルの依存関係へ。その後は正しくコンパイルされますが、アプリケーションを実行するとClassDefNotFoundException
が返されます。
誰かが私が間違っていることを知っていますか?
私は何時間も同じことに苦労していましたが、Gson jarを動かそうとしました。私はついにそれをクラックしました - これが私が取ったステップです:
gson-2.2.4.jar
)をlibs
フォルダーに入れます。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')
)を使用する
クリーンビルドを実行します(おそらくAndroid Studioでこれをうまく行うことができますが、端末でアプリのルートフォルダに移動してgradlew clean
と入力したことを確認するためです。MacOS Xの場合、コマンドはユーザーによって異なりますシステム
私が上記の4つをした後、それはうまく働き始めました。 「ライブラリとして追加」というステップは、以前に見逃していたものであり、クリーンアップするまで機能しませんでした。
[編集 - 他の人が指摘したように必要なbuild.gradle
ステップも追加]
ローカルのjarファイルをライブラリとしてモジュールに追加する手順は次のとおりです。
モジュールディレクトリ( 'src'ディレクトリと同じディレクトリ)の最上位に 'libs'フォルダを作成します。
build.gradle file
に以下を追加して、依存関係クロージャーが以下のようになるようにします。
dependencies {
// ... other dependencies
compile files('libs/<your jar's name here>')
}
Android Studioはすでにgradlewラッパーをセットアップしているはずです。コマンドラインから、プロジェクトの最上位レベル(gradlew
ファイルがあるディレクトリ)に移動します。
./gradlew assemble
を実行してください。これでプロジェクトをライブラリでコンパイルするはずです。必要に応じてbuild.gradleファイルのエラーを修正する必要があります。
IDEでコーディングしながら、Android Studioにローカルjarファイルをサポート用のライブラリとして認識させるには、さらにいくつかの手順を実行する必要があります。
4.1。左側のパネルのモジュールを右クリックしてOpen Library Settings
を選択します。
4.2。ダイアログの左側のパネルで、Libraries
を選択します。
4.3。左から2番目のパネルの上にある+
記号をクリックします - > Java
4.4。ローカルjarを選択してプロジェクトに追加します。
上記の./gradlew
コマンドをもう一度実行する必要があります。
IIRCでは、単に「ライブラリとして追加」を使用しても、プロジェクトでコンパイルするには不十分です。
プロジェクトへのライブラリの追加については、 Intellijのヘルプ を確認してください。
最も興味を引くはずの部分はこれです。
(In
File > Project Structure
)モジュール設定を開き、[依存関係]タブを選択します。[依存関係]タブで、[追加]をクリックして[ライブラリ]を選択します。
Choose Librariesダイアログで、1つ以上のライブラリを選択してAdd Selectedをクリックします。
ライブラリがダイアログに表示されない場合は、モジュールのすぐ下のライブラリ設定に追加します。
もうcompile files()
を追加する必要はなく、ライブラリはプロジェクトに正しく追加されるべきです。
Android Stuidoでは、Gson libを管理するためにGradleを使うのが好きです。
Build.gradleファイルに以下の依存関係を追加してください。
repositories {mavenCentral()}
dependencies {compile 'com.google.code.gson:gson:2.2.4'}
全て大丈夫。
こちらの記事もご覧になれます。 Androidスタジオにサードパーティのライブラリを統合するための最良の方法
これらすべての解決策は時代遅れです。 Android Studioでは、とても簡単です。
ファイル>新規モジュール...
次の画面は奇妙に見えます。ウィジェットを選択しているように見えますが、最初の図の下に表示したままスクロールして「Import JAR or .AAR Package」を見つけます。
それからFileメニューからProject Structure
を選びます。開いたウィンドウからapp
を選び、dependencies
を押し、次にgreen plus button
を押し、module dependency
を選び、そしてインポートしたモジュールを選び、そしてOK
を押します。
Android Studioに外部ライブラリを追加する簡単な手順
- プロジェクトエクスプローラーでAndroidビューにいる場合は、以下のようにProjectビューに変更します
- 外部ライブラリを追加する目的のモジュールを右クリックして、New> Directroyを選択し、「libs」という名前を付けます。 '
- blah_blah.jarを 'libs'フォルダーにコピーします
- Blah_blah.jarを右クリックし、「ライブラリとして追加..」を選択します。これにより、build.gradleがcompile files( 'libs/blah_blah.jar')として自動的に追加およびエントリされ、gradleが同期されます。これで完了です
注意してください:サードパーティのライブラリを使用している場合は、dependenciesここで、Gradleスクリプトは、gradleスクリプトの実行時にJARと依存関係JARを自動的にダウンロードします。
例: 'com.google.Android.gms:play-services-ads:9.4.0'をコンパイルします
Gradle Dependency Mangement の詳細を読む
「ファイルをコンパイルしています...」は以前は機能していましたが、それ以上は機能しません。多くの苦痛の後、私は代わりにこれを使用することがうまくいくことがわかりました:
compile fileTree(dir: 'libs', include: '*.jar')
それがなぜ違いを生み出したのか私にはわかりませんが、少なくともいまいましいことは現在うまくいっています。
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を使用しています。
これで私の問題は解決しました。誰かがもっと詳細を知りたいのなら私に知らせてみてください。
私はAndroid StudioのDependency Managerがサードパーティの依存関係を管理するのに非常に便利で強力であることを確認しました(gsonがここで述べたように)。私のために働いたステップガイドによるステップを提供すること(注:これらのステップは、Android Studio 1.6およびそれ以降のバージョンのWindowsプラットフォーム用にテストされています)。
Step-1: 「ビルド>ライブラリと依存関係の編集...」を選択すると、ダイアログ「プロジェクトの構造」が開きます。
Step-2: "app"を選び、次に "Dependencies"タブを選ぶ。次に「追加> 1ライブラリの依存関係」を選択します。
Step-3: "ライブラリの選択"ダイアログが表示されますので、検索に "gson"を指定して "検索ボタン"を押してください。
Step-4: 希望の依存関係が検索リストに表示されるので、com.google.code.gsonを選択します。gson:2.7(これは私が答えを書いた時点の最新バージョンです)、OKを押します
[プロジェクト構造]ダイアログで[OK]をクリックします。それに応じて、Gradleはビルドスクリプトを更新します。
これが助けになることを願います:)
1. jar(私の場合は
gson-2.2.4.jar
)をlibsフォルダーに入れます。2. コンパイルファイル(
libs/gson-2.2.4.jar
)がbuild.gradleファイルにあることを確認します。3. [プロジェクトをGradleファイルと同期する]をクリックします(左上のAVDマネージャボタン)。
私が上記の3つをした後、それはうまく働き始めました。
あなたは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としてインポートするより -
それからCTRL + ALT + SHIFT + S - >プロジェクトの頑丈さ - > jarを追加したいモジュールを選択してください - > Dependencendies - > Module Dependency。モジュールのbuild.gradleは自動的に更新されます。
libs
フォルダにある.jar
ファイルをダウンロードしてコピーし、次にbuild.gradleに次の行を追加します。
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.code.gson:gson:2.3.1'
}
「今すぐ同期」をクリックするのを忘れないでください
.jar
ファイルをAndroidプロジェクトのlibs
フォルダーに置きます。
次に、このコード行をアプリのgradleファイルに追加します。
compile fileTree(dir: 'libs', include: ['*.jar'])
Android gradle plugin 3.0以降では、代わりにこれを使用することをお勧めします。
implementation fileTree(dir: 'libs', include: ['*.jar'])
Eclipseとは異なり、jarをダウンロードして/ libsフォルダーに置く必要はありません。 Gradleは、Gradleの依存関係を追加するだけでよいこれらの処理を行い、Gradleはそれをダウンロードしてgradleキャッシュに入れます。
依存関係を追加する必要があります。
依存関係{implementation 'com.google.code.gson:gson:2.2.4'}
ただし、jarをダウンロードしてライブラリとして追加することもできますが、ベストプラクティスはGradleの依存関係を追加することです。
私は3 stepsの上でやったし、その仕事の魅力は私のために。
(私はAndroid Studio 2.1.2を使用しています)
ステップ1
compile 'com.squareup.okhttp3:okhttp:3.3.1'
)を追加します。ステップ2:アプリフォルダを右クリック- >新規 - >モジュール
手順3:JAR/.AARパッケージのインポートをクリックして_パッケージを参照します。例として: OkHttp.jar
Android Studio 3以降の場合:
Appフォルダーの直下のlibsフォルダーにjarファイルをコピーするだけでいいのです。
... myproject\app\libs\myfile.jar
次に、「プロジェクト」ウィンドウのドロップダウンから「プロジェクトファイル」を選択し、プロジェクトを右クリックし、「同期」を選択してプロジェクトファイルにファイルを表示します。それは自動的にgradleファイル(Module:app)に依存関係を追加します。
dependencies {
...
implementation files('libs/myfile.jar')
これは別の解決策です:
[プロジェクトファイル]ビューに移動します(ドロップダウンから[プロジェクトファイル]を選択します)。
New ... Directoryを選択し、appの直下にlibsという名前のフォルダを作成します。
ファイルエクスプローラを開き、jarファイルをlibsフォルダにコピーして貼り付けます。
Android Studioでjarファイルを右クリックし、ポップアップメニューから[ライブラリとして追加]を選択します。
このファイルは、gradleファイルの依存関係リストにリストされているはずです。
dependencies {
...
implementation files('libs/myfile.jar')
}
Javaファイルを開き、そこにimportステートメントを追加します。
import com.xxx.xxx;
menu File -> project struct -> module select "app" -> dependencies tab -> + button
-> File dependency -> PATH/myfile.jar
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')
Libsフォルダを作成してください。 .jarファイルを追加してください。それを右クリックすると、依存関係としてadd jarが見つかります。クリックして。それがあなたがする必要があるすべてです。 build.gradleファイルに追加された依存関係を見つけることができます。
私はここですべての答えを読みました、そしてそれらはすべてAndroid Studioの古いバージョンをカバーしているようです!
Android Studio 2.2.3で作成したプロジェクトでは、libs
の下にapp
ディレクトリを作成し、そこに私のjarファイルを配置する必要がありました。私はファイルマネージャを使ってそれをしました、アンドロイドスタジオで何かをクリックしたり、編集する必要は全くありません。
なぜうまくいくの?開く ライブラリと依存関係を作成/編集する そして、あなたは見るでしょう:
{include=[*.jar], dir=libs}
Android Studio 1.1.0の場合私は以下のステップでこの問題を解決しました:
1:jarファイルをlibsディレクトリに置きます。 (ファインダー内)
2:モジュール設定を開き、依存関係に移動します。左下隅にプラスボタンがあります。プラスボタンをクリックして、 "ファイルの依存関係"を選択します。ここであなたはあなたのjarファイルを見ることができます。それを選択すれば解決します。
libs
レベルにapp
フォルダーを追加しました。jars
を追加しました。libs
フォルダー内のすべてのjarを選択します。add library
と言う私は観察した CTRL + ALT + SHIFT + S - >プロジェクト構造 - > app-module - > Dependenciesには、最初は(dir: 'libs', include: '*.jar')
の下にcompile-option
のエントリがありました。そして上記の手順でjarを追加した後、build.gradle
は新しく追加したjarのエントリを取得しました。自体。
先ほど指摘したように、あなたは追加しなければならない
compile files('libs/gson-2.2.3.jar')
build.gradleファイルに追加します。
しかし私はEclipseから移行されたAndroid Studioのプロジェクトを持っています、そしてこの場合 "libs"フォルダは "lib"という名前ですので、 "s"を削除することで問題は解決しました。
Android Studio 2.1 このようにして、
Goto app - > src-> main - > assets folder(利用できない場合は作成してください) - > JARファイルを置いてください
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ファイルを使用する準備が整いました。
Mac OS Xの場合
ライブラリとしてjarを追加(jarをlibsにドラッグ、右クリックでlibとして追加)
コンパイルステートメントをbuild.grade
に追加します
gradle v1.6
をインストールする(自作を使用)
クリーングラドル(Androidの再構築は動作しませんでした)
これは私を整理しました。
新しいAndroid 1.0.2の場合、build.gradleファイルには次のファイルが既に含まれています。
implementation fileTree(include: ['*.jar'], dir: 'libs')
ライブラリjarをlibsフォルダに追加します - >ライブラリを右クリック - >ライブラリとして追加をクリック - >プロジェクトを追加するように要求します - >プロジェクトを選択 - > OKをクリック次の行が自動的に追加されます。 。グラドル
implementation files('libs/Android-query.jar')
それは私のためにそれをやりました。それ以上は必要ありませんでした。私はこれをAndroid AqueryのAndroid用の別のサードパーティライブラリ用に示しました。
私の答えは基本的には上で提供された正しいけれども不完全な答えのいくつかを集めることです。
以下を追加してください。
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にそのパッケージのそのバージョンを探すことを伝えていて、それはプロジェクトをコンパイルするときそれを考慮するようにコンパイラに言っています(それをクラスパスに持っていること)
シモンズ:私は両方を使う
compile fileTree(dir: 'libs', include: '*.jar')
は正常に動作しますがcompile files(...)
はStudio Beta 0.8.1でテストされていません
私はその理由を知りませんが、Gradleを使用してこれらのソリューションを実装しようとすると、Android Studio 0.8.14がおかしくなります。私はこの優れたビルドツールについての私の乏しい知識を認めますが、Studioは私のプロジェクトを何のために切り捨てていますか?私はそれをこのように動かせるようにすることに成功しました: 'libs'ディレクトリにそれからF4を入れて、そして私が私がAndroid-support-v13.jarを指したところにファイルの依存関係を加えます。
私の場合は 追加されたライブラリは依存関係を見逃していました しかし、残念ながらAndroid Studio(0.8.14)はこれを秘密にしています。
手動で何かを設定する必要はありませんでした。足りないライブラリを追加し、 app build.gradle
ファイルでデフォルトの依存関係設定を使用しました。
dependencies {
compile 'com.google.code.gson:gson:2.+'
compile fileTree(dir: 'libs', include: ['*.jar'])
}
これを行う :
アプリケーションフォルダの下にlibsフォルダを作成します。 libsフォルダに.jarファイルを追加します。次に、アプリケーションのbuild.gradle依存関係に.jarファイルを追加します。最後にプロジェクトをGradleファイルと同期します。