web-dev-qa-db-ja.com

Android Studioにライブラリプロジェクトを追加する方法

Android Studio にライブラリプロジェクト(Sherlock ABSなど)を追加する方法を教えてください。

(古いADT Eclipseベースのバンドルではなく、新しい Android Studio へ。)

772

Android Studio 1.0用の更新プログラム

Android Studio 1.0がリリースされて以来(そして私の前の答えの時からのv1.0と最初のうちの1つの間の多くのバージョン)、いくつかのことが変わりました。

私の説明はGradleファイルを使って手作業で外部ライブラリプロジェクトを追加することに焦点を当てています(プロセスをよりよく理解するため)。 Android Studioの作成者経由でライブラリを追加したい場合は、 ビジュアルガイド付きの回答 以下)をチェックしてください(Android Studio 1.0とスクリーンショットの違いはいくつかありますが、プロセスは非常に似ています)。

手動でプロジェクトにライブラリを追加する前に、外部依存関係を追加することを検討してください。それはあなたのプロジェクト構造に混乱しないでしょう。ほとんどすべての有名なAndroidライブラリが Maven リポジトリで利用可能で、インストールにはapp/build.gradleファイルに1行のコードしか必要としません。

dependencies {
     compile 'com.jakewharton:butterknife:6.0.0'
}

ライブラリを追加する

これが私たちのプロジェクトに外部Androidライブラリを追加する全プロセスです。

  1. Android Studioの作成者を介して新しいプロジェクトを作成します。私はそれをHe​​lloWorldと名付けました。
  2. これはAndroid Studioによって作成されたオリジナルのプロジェクト構造です。
HelloWorld/
      app/
           - build.gradle  // local Gradle configuration (for app only)
           ...
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ...
  1. ルートディレクトリ(HelloWorld/)に、新しいフォルダを作成します。/libsここに外部ライブラリを配置します(この手順は必須ではありません。プロジェクト構造をきれいにするためだけに使用します)。
  2. 新しく作成した/libsフォルダにライブラリを貼り付けます。この例では PagerSlidingTabStrip library を使用します(GitHubからZipをダウンロードし、ライブラリディレクトリの名前を "PagerSlidingTabStrip"に変更してコピーします)。これが私たちのプロジェクトの新しい構造です。
HelloWorld/
      app/
           - build.gradle  // Local Gradle configuration (for app only)
           ...
      libs/
           PagerSlidingTabStrip/
                - build.gradle // Local Gradle configuration (for library only)
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ...
  1. ライブラリをincludeに追加してsettings.gradleを編集します。私のようにカスタムパスを使用する場合は、ライブラリのプロジェクトディレクトリも定義する必要があります。 settings.gradle全体は以下のようになります。

    include ':app', ':PagerSlidingTabStrip'
    project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip')
    

5.1もしあなたが "Default Configuration"エラーに遭遇したら、ステップ5の代わりにこれを試してください。

    include ':app'
    include ':libs:PagerSlidingTabStrip'
  1. app/build.gradleにライブラリプロジェクトを依存関係として追加します。

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.Android.support:appcompat-v7:21.0.3'
        compile project(":PagerSlidingTabStrip")
    }
    

6.1。手順5.1を実行した場合は、6ではなくこれに従ってください。

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

        compile project(":libs:PagerSlidingTabStrip")
    }
  1. ライブラリプロジェクトにbuild.gradleファイルがない場合は、手動で作成する必要があります。これがそのファイルの例です。

        apply plugin: 'com.Android.library'
    
        dependencies {
            compile 'com.Android.support:support-v4:21.0.3'
        }
    
        Android {
            compileSdkVersion 21
            buildToolsVersion "21.1.2"
    
            defaultConfig {
                minSdkVersion 14
                targetSdkVersion 21
            }
    
            sourceSets {
                main {
                    manifest.srcFile 'AndroidManifest.xml'
                    Java.srcDirs = ['src']
                    res.srcDirs = ['res']
                }
            }
        }
    
  2. さらに、一貫性を保つために、各モジュールのSDKバージョンとビルドツールバージョンを含むプロジェクトのグローバル設定を作成できます。 gradle.propertiesファイルを編集して行を追加するだけです。

    Android_BUILD_MIN_SDK_VERSION=14
    Android_BUILD_TARGET_SDK_VERSION=21
    Android_BUILD_TOOLS_VERSION=21.1.3
    Android_BUILD_SDK_VERSION=21
    

    これで、以下のようにbuild.gradleファイル(アプリおよびライブラリモジュール内)でそれを使用できます。

    //...
    Android {
        compileSdkVersion Integer.parseInt(project.Android_BUILD_SDK_VERSION)
        buildToolsVersion project.Android_BUILD_TOOLS_VERSION
    
        defaultConfig {
            minSdkVersion Integer.parseInt(project.Android_BUILD_MIN_SDK_VERSION)
            targetSdkVersion Integer.parseInt(project.Android_BUILD_TARGET_SDK_VERSION)
        }
    }
    //...
    
  3. それで全部です。 「プロジェクトをGradleと同期する」アイコンをクリックするだけです。 synchronise with Gradle。あなたのライブラリはあなたのプロジェクトで利用できるはずです。

Google I/O 2013 - 新しいAndroid SDKビルドシステムは、Gradle Build Systemを使用してAndroidアプリをビルドする方法についての素晴らしいプレゼンテーションです。Xavier Ducrohetが述べたように、

Android Studioは、編集、デバッグ、およびプロファイリングに関するすべてのものです。それはもう構築することではありません。

最初は少し混乱するかもしれませんが(特に Eclipse であり、私のようなアリを見たことがない人))、Gradleが私たちにすばらしい機会を与えてくれ、学ぶ価値があります。このビルドシステム.

706
froger_mcs

これがビジュアルガイドです。

アップデート Android Studio 0.8.2用:

Android Studio 0.8.2では、 プロジェクト構造 - > Modules の順にクリックし、 既存プロジェクトのインポート actionbarsherlockをインポートします。それからあなたのGradleファイルを同期させてください。

あなたがエラーに直面した場合

エラー:SDKビルドツールのリビジョン(xx.x.x)が低すぎます。最低限必要なものはyy.y.yです。

actionbarsherlockディレクトリのbuild.gradleファイルを開き、buildToolsVersionを推奨されたものに更新するだけです。

Android {
  compileSdkVersion 19
  buildToolsVersion 'yy.y.y'

Android Studio 0.8.2


メニュー ファイル - > プロジェクト構造...

First

モジュール - > インポートモジュール

Second

ライブラリモジュールをインポートしたら、 your projectモジュールを選択して依存関係を追加します。

Third

次に、 インポートされたモジュール を選択します。

Forth

271
Sam Rad

メニュー ファイル - > プロジェクト構造 - > モジュール を使用します。

私は今日それを使い始めました。ちょっと違います。

Sherlockの場合は、おそらくテストディレクトリを削除するか、junit.jarファイルをクラスパスに追加します。

Gradleを使ってライブラリをインポートするには、それをあなたのbuild.gradle(モジュールのもの)のdependenciesセクションに追加する必要があります。

例えば。

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.Android.support:appcompat-v7:22.1.0'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
}

Android Studioは変わりつつあります。

Android Studioのプロジェクトセクションにあるモジュールフォルダを右クリックすると、 "Open module settings"というセクションがあります(私はバージョン0.2.10を使用しています)。

110
Blackbelt

依存関係、Androidライブラリ、およびマルチプロジェクトのセットアップ 必要な読み方を検討します。数分かかります。

特に、jar以外のライブラリプロジェクトの場合は、上記のソースから次のコードを読んでください。

Gradleプロジェクトは、マルチプロジェクト設定を使用して他のGradleプロジェクトにも依存できます。マルチプロジェクト設定は通常、すべてのプロジェクトを特定のルートプロジェクトのサブフォルダーとして持つことによって機能します。

たとえば、次のような構造になります。

MyProject/
 + app/
 + libraries/
    + lib1/
    + lib2/

3つのプロジェクトを識別できます。 Gradleはそれらを次の名前で参照します。

:app
:libraries:lib1
:libraries:lib2

各プロジェクトには、ビルド方法を宣言する独自のbuild.gradleがあります。さらに、プロジェクトを宣言するルートにsettings.gradleというファイルがあります。これにより、次のような構造になります。

MyProject/
 | settings.gradle
 + app/
    | build.gradle
 + libraries/
    + lib1/
       | build.gradle
    + lib2/
       | build.gradle

Settings.gradleの内容はとてもシンプルです。

include ':app', ':libraries:lib1', ':libraries:lib2'

これはどのフォルダが実際にGradleプロジェクトであるかを定義します。

:appプロジェクトはライブラリに依存する可能性が高く、これは次の依存関係を宣言することによって行われます。

dependencies {
    compile project(':libraries:lib1')
}

これを実現するためにAndroid Studio GUIを使用することはほとんど、またはまったくなかったことにご留意ください。

依存関係の混乱を避けるために、現在は gitサブモジュール をネストしたライブラリを実際のライブラリgitリポジトリにリンクするために使用しています。

51
Jonathan Lin

(.gradleファイルに直接書き込むのではなく)もっと簡単な方法を見つけました。

これはAndroid Studio 1.1.0用です。

  1. メニュー ファイル - > 新規モジュール...

    Import Existing Project

    「Import Existing Project」をクリックしてください。

  2. 目的のライブラリと目的のモジュールを選択します。

  3. 終了をクリックしてください。 Android Studioがライブラリをプロジェクトにインポートします。それはgradleファイルを同期します。

  4. インポートしたモジュールをプロジェクトの依存関係に追加します。

    アプリフォルダを右クリックし、[モジュール設定を開く]、[依存関係]タブの順にクリックします。 - [+]ボタンをクリックし、[モジュール依存関係]をクリックします。

    ライブラリモジュールはプロジェクトの依存関係に追加されます。

    Add library module

  5. ???

  6. 利益

24
René Michel

私が見つけた最も簡単な方法は、外部ライブラリプロジェクトを含めることです(たとえば、依存ライブラリフォルダの1つ上のディレクトリに格納されているFacebookライブラリを含めること)。

  1. Settings.gradleに追加

    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK')
    
  2. Build.gradle依存関係セクションに、追加

    compile project ('facebook')
    

やらなければならないのは、プロジェクトと許可ファイルを同期させることだけです。

16
Vilen

あなたのAndroid StudioプロジェクトにライブラリとしてJARファイルを追加する簡単な方法:

a)あなたの* .jarファイルをコピーする

b)プロジェクトの下の libs ディレクトリに貼り付けます。

Enter image description here

c)build.gradleに追加します。

dependencies {
    ...
    compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
}

b) サンプルのcom.example.MYProjectおよびライブラリcom.example.ScanAPIのプロジェクトの名前空間がcom.example の場合、Android Studioはビルドを確認し、プロジェクトに必要な変更をすべて作成します。その後、メニューでこれらの設定を確認できます ファイル - > プロジェクト構造

c) プロジェクトとライブラリの名前空間が異なる場合 ライブラリを右クリックして[ライブラリとして追加]オプションを選択し、必要なタイプを選択する必要があります。

現在のバージョンのAndroid Studio(0.2.3)では、 "プロジェクト構造"オプションは "build.gradle"の自動変更を行っていません。たぶん、この機能は次のバージョンで利用可能になるでしょう。

14
Eugene Bosikov

オプション1:プロジェクトのlibs /ディレクトリにファイルをドロップする

関連するbuild.gradleファイルが自動的に更新されます。

オプション2:build.gradleファイルを手動で変更する

Build.gradleファイルを開き、依存関係クロージャに新しいビルドルールを追加します。たとえば、Google Play Servicesを追加したい場合、プロジェクトの依存関係セクションは次のようになります。

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.google.Android.gms:play-services:6.5.+'
   }

オプション3:Android Studioのユーザーインターフェースを使用する

プロジェクトパネルで、 Control 依存関係を追加したいモジュールを+クリックして、Open Module Settingsを選択します。

Enter image description here

[依存関係]タブを選択し、続いて左下隅にある[+]ボタンをクリックします。以下のオプションのリストから選択できます。

  • ライブラリの依存関係
  • ファイルの依存関係
  • モジュールの依存関係

その後、プロジェクトに追加したい依存関係に関する詳細情報を入力できます。たとえば、[Library Dependency]を選択した場合、Android Studioは選択可能なライブラリのリストを表示します。

依存関係を追加したら、モジュールレベルのbuild.gradleファイルを確認してください。新しい依存関係を含むように自動的に更新されているはずです。

出典

11
pathe.kiran

これは、Android Studio 1.5以降での動作です。

外部ライブラリプロジェクトを追加したいプロジェクトで、メニュー ファイル - > 新規 - > *新規モジュールのインポート**に進み、追加したいライブラリプロジェクトに移動します。あなたのプロジェクトに、あなたのプロジェクトに 'library'モジュールを追加することを選択してください。あなたは settings.gradle をあなたのプロジェクトの中で、アプリの横に、ライブラリを含めて、このようなもので取得します。

include ':app', ':library'

依存関係セクションに build.gradle(Module:app) を追加します。

プロジェクトをコンパイルする( ':library')

プロジェクトを再ビルドしてください。

*あなたは好きなだけライブラリ(モジュール)を追加することができます。その場合、settings.gradleには以下のものがあります。

 include ':app', ':lib1', ':lib2', ...

そしてbuild.gradleでは、次のものが必要になります。

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

    // Some other dependencies...

    compile project(':lib1')
    compile project(':lib2')
    ...
}
9
pandabear

ABSと同様に、ライブラリプロジェクトのリソースにアクセスする必要がある場合は、ライブラリプロジェクト/モジュールを「ライブラリ」ではなく「モジュール依存関係」として追加してください。

8
drewan50
  1. 押す F4 プロジェクト構造を表示するには、ライブラリまたはグローバルライブラリをクリックしてから、をクリックします。 + JARファイルを追加します。
  2. 必要なモジュールをクリックしてjarを追加し、Dependenciesタブを選択してクリック +ライブラリを追加します。
7
Crossle Song

これは簡単にできます。メニューに行く ファイル - > 新規 - > モジュールのインポート...

Enter image description here

モジュールを含むディレクトリを参照してください。完了をクリックします。

Enter image description here

プロジェクト構造 に移動し、 モジュールの依存関係 を追加します。

Enter image description here

注:SDKエラーが発生した場合は、それを更新してください。

6
Adiii

GUIを介してライブラリの依存関係を編集しても、build.gradleファイルにそれらの変更が書き込まれないため、お勧めできません。だからあなたのプロジェクトはコマンドラインからビルドされません。次のようにbuild.gradleファイルを直接編集する必要があります。

たとえば、次のような構造になります。

私のプロジェクト/

  • アプリ/
  • ライブラリ/
    • lib1 /
    • lib2 /

3つのプロジェクトを識別できます。 Gradleはそれらを以下の名前で参照します。

  1. :アプリ
  2. :ライブラリ:lib1
  3. :ライブラリ:lib2

:appプロジェクトはライブラリに依存する可能性が高く、これは次の依存関係を宣言することによって行われます。

dependencies {
    compile project(':libraries:lib1')
}
5
Shakti Malik

答えを追加すると、IDEにエラーが表示されず、コンパイルしようとすると、次のようになります。

No resource found that matches the given name 'Theme.Sherlock.Light'

ライブラリプロジェクトは、おそらくアプリケーションプロジェクトとしてコンパイルされています。これを変更するには、にアクセスしてください。

メニュー ファイル - > プロジェクト構成 - > ファセット - > [ライブラリ名] - > "ライブラリモジュール"をチェックしてください。

5
Dalmas

最初の方法 これはMacBookに対応しています。

最初に与えられたスクリーンとしてあなたのbuilder.gradleファイルを選択してください。

Enter image description here

選択した画面のように依存関係を追加します。

Enter image description here

同期プロジェクトを選択します。

「パスが ':signature-pad'のプロジェクトがプロジェクト ':app'に見つかりませんでした」のようなエラーが発生した場合は、2番目の方法を使用してください。

メニューファイル - > 新規 - > インポートモジュール...

Enter image description here

Import Moduleをクリックした後、

Enter image description here

私のMacBookのパスのようにライブラリのパスを指定します。

Enter image description here

Finishをクリックしてください。これであなたのライブラリが追加されました。

4
Hemant

ABSモジュールを(File> Project Structureから)インポートし、それが依存関係としてAndroid 2.2とSupport Library v4を持っていることを確認した後、私はあなたとして@Alexとしてまだ次のエラーを得ていました

Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar'

私はメインのアプリモジュールへの依存関係として新しくインポートされたモジュールを追加し、それが問題を解決しました。

4
Erwan

Android Studio 3.0

アプリの build.gradle ファイルの依存関係ブロックにライブラリ名を追加するだけです。

dependencies {
    // ...
    implementation 'com.example:some-library:1.0.0'
}

今はimplementationではなくcompileを使うべきです。これはAndroid Studio 3.0の新機能です。違いについての説明は このQ&A をご覧ください。

3
Suragch

この問題を解決するには、以下のようにabsリソースパスをプロジェクトビルドファイルに追加するだけです。

sourceSets {
    main {
        res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']
    }
}

だから、私は再びエラーなしでコンパイルします。

3
azh

Android Studio .0.4.0をお持ちの場合は、ビルドパスに新しいフォルダYourApp/librariesを作成できます。 JARファイルをコピーします。そこに、それを右クリックして「ライブラリとして追加」をクリックしてください。今、あなたはポップアップを持っています。ディレクトリを選択してOKを押すだけです。

3
Braunster

https://www.dropbox.com/s/1e3eteu3h0pmkf7/Android%20studio%20_doc.doc?dl=0 は最新バージョンのAndroid StudioにJARファイルとライブラリプロジェクトを追加する方法のDropboxリンク1.0.1。

スクリーンショット付きのドキュメントを参照してください。新しいユーザーにとってはとても簡単です。

2
ankitbumblebee

Androidライブラリプロジェクトをモジュールとしてインポートし、Build.gradleに入力するだけです。

プラグインを適用する: 'com.Android.library'

その後、次の手順に従います。

  1. モジュールを右クリックして開いているモジュール設定を選択
  2. 依存関係を選択してクリック +ライブラリの依存関係を選択して、以前にインポートしたモジュールを追加します。
2
Pankaj kumar

Build gradleモジュールのアプリファイルを開き、依存関係を追加します。ライブラリをダウンロードする場合は、gradleとしてインポートしてビルドしてください。

それ以外の場合はサイドグラドルモジュールアプリにリポジトリを追加します。

repositories {
        maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
}

最初のリポジトリはあなたのためにライブラリをダウンロードします。

そしてダウンロードしたライブラリをコンパイルします。

 compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {
        transitive = true
    }

ライブラリを作成している場合は、プロジェクトを新しいモジュールのインポートとしてインポートするだけです。

2
Jinu

基本的に、JARファイルを3つの異なる方法で含めることができます。最後のものは https://bintray.com/ jcenterオンラインリポジトリを使用しているリモートライブラリです。しかし、他の2つの方法のいずれかでそれを実行すると、JARファイルはプロジェクトに物理的に含まれます。このリンクを読んでください https://stackoverflow.com/a/35369267/5475941 詳細については。この記事では、AndroidスタジオにJARファイルをインポートする方法を説明し、考えられるすべての方法について説明しました。

要約すると、このような場合(ローカルアドレス)、それらはダウンロードされ、これらのJARファイルは物理的にプロジェクト内にあります。

enter image description here

しかし、それがこのようなインターネットアドレスであれば、それらはリモートライブラリ(bintray.com jcenter part)であり、それらはリモートで使用されます。

enter image description here

助けになれば幸いです。

2
Vahid

私はその解決策を見つけました。とても簡単です。 froger_mcsの指示に従ってください

必ずsrcフォルダをSourceフォルダにします _プロジェクト構造 - >モジュール(Sources).

Enter image description here

2
passsy

私は人々のためにそう問題の異なる原因があった:

repositories {
    mavenCentral()
}

mavenCentral()をjcenter()に変更して追加

allprojects {
    repositories {
        jcenter()
    }
}
1
jobbert

Android Studioの場合:

Enter image description here

Build.gradle(module:app) をクリックします。

そしてを追加

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/commons-io-2.4.jar')
}

そしてあなたのディレクトリ "app"の中に、ディレクトリ "libs"を作ります。ファイルyourfile.jarを追加します。

Enter image description here

最後に、Gradleファイルをコンパイルします。

Enter image description here

1
Mourad MAMASSI

Android Studioで、アプリフォルダー内に移動してbuild.gradleファイルを開きます。ここでは依存関係{}を見るでしょう。その中にあなたはライブラリプロジェクトを追加して同期することができます。ライブラリを同期した後、プロジェクトに追加され、プロジェクトでその関数とクラスを使用できます。

1

私はまた私が事に続いてしたのと同じ問題に遭遇しました。

  1. メニューを使用してライブラリプロジェクトをモジュールとして私のAndroidStudio IDEにインポートしますファイル - >モジュールのインポートメニュー

  2. それから私は私が私が私が依存プロジェクトとして図書館プロジェクトを望んでいる私のメインモジュールに行きました

  3. メインモジュールを右クリックします(私の場合、名前はapp) - >オープンモジュール設定 - >依存関係タブに移動 - > +ボタンをクリック(ウィンドウの右側に表示されます) - >モジュールの依存関係をクリック - >リストからあなたのライブラリプロジェクトを選択

変更を適用してをクリックします。 OK ボタン。

それは私のために働きました。他の人にも役立つことを願っています。