1. ホーム
  2. android

[解決済み] Android Studioにライブラリプロジェクトを追加する方法を教えてください。

2022-03-23 17:49:15

質問

ライブラリプロジェクト(Sherlock ABSなど)を Android Studio ?

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

解決方法は?

Android Studio 1.0へのアップデート

Android Studio 1.0がリリースされてから(そしてv1.0から前回の回答時の最初の1つまでの間に多くのバージョンがあります)、いくつかの点が変更されました。

私の説明は、Gradleファイルを介して手作業で外部ライブラリプロジェクトを追加することに焦点を当てています(プロセスをよりよく理解するために)。もし、Android Studioのクリエーター経由でライブラリを追加したい場合は、以下の項目をチェックしてください。 回答 Android Studio 1.0とスクリーンショットにあるものは若干の違いがありますが、プロセスは非常に似ています。

手作業でライブラリをプロジェクトに追加し始める前に、外部依存関係を追加することを検討してください。そうすれば、プロジェクトの構造を混乱させることはありません。ほとんどの有名な Android ライブラリは メイヴン リポジトリにインストールされ、そのインストールに必要なコードは app/build.gradle ファイルを作成します。

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

ライブラリの追加

ここでは、プロジェクトに外部 Android ライブラリを追加する全プロセスを説明します。

  1. Android Studioのクリエイターから新しいプロジェクトを作成します。プロジェクト名は ハローワールド .
  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 ライブラリ (GitHubからZIPをダウンロードし、libraryディレクトリを "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. settings.gradleを編集し、ライブラリを include . 私のようにカスタムパスを使用する場合は、ライブラリのプロジェクトディレクトリも定義する必要があります。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 ファイル(appとlibrariesのモジュール内)を以下のようにします。

    //...
    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と同期させる」アイコンをクリックするだけです。 . プロジェクト内でライブラリが利用できるようになるはずです。

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

Android Studioは編集、デバッグ、プロファイリングのためのものです。 もうビルドするためのものではありません。

最初のうちは少し戸惑うかもしれません。 エクリプス を見たことがない - 私のように;)。しかし、最終的にはGradleは私たちにいくつかの素晴らしい機会を与えてくれるので、このビルドシステムを学ぶ価値があります。