How do I add a library project to the Android Studio?

http://stackoverflow.com/questions/16588064/how-do-i-add-a-library-project-to-the-android-studio



Update for Android Studio 1.0

Since Android Studio 1.0 was released (and a lot of versions between v1.0 and one of the firsts from the time of my previous answer) some things has changed.

My description is focused on adding external library project by hand via gradle files (for better understanding the process). If you want to add library via Android Studio creator just check theanswer below with visual guide (there are some differents between Android Studio 1.0 and those from screenshots, but the process is very similar).

Before you start adding library to your project by hand consider adding external dependency. It won’t mess in your project structure. Almost every well known Android library is available in maven repository and its installation takes only one line of code in app/build.gradle file:

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

Adding the library

Here is the full process of adding external Android library to our project:

  1. Create new project via Android Studio creator. I named it HelloWorld
  2. Here is the original project structure created by Android Studio:
HelloWorld/
      app/
           - build.gradle  // local gradle config (for app only)
           ...
      - build.gradle // global gradle config (for whole project)
      - settings.gradle 
      - gradle.properties
      ...
  1. In root directory (HelloWorld/) create new folder: /libs in which we’ll place our external libraries (this step is not required - only for keeping cleaner project structure).
  2. Paste your library in newly created /libs folder. In this example I used PagerSlidingTabStrip library (just download ZIP from Github, rename library directory to „PagerSlidingTabStrip" and copy it). Here is the new structure of our project:
HelloWorld/
      app/
           - build.gradle  // local gradle config (for app only)
           ...
      libs/
           PagerSlidingTabStrip/
                - build.gradle // local gradle config (for library only)
      - build.gradle // global gradle config (for whole project)
      - settings.gradle 
      - gradle.properties
      ...
  1. Edit settings.gradle by adding your library to include. If you use custom path like I did, you have also define project directory for our library. Whole settings.gradle should look like below:

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

5.1 If you face "Default Configuration" error, then try this instead of step 5,

include ':app'
include ':libs:PagerSlidingTabStrip'
  1. In app/build.gradle add our library project as an dependency:

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

6.1. If you followed step 5.1, then follow this instead of 6,

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

    compile project(":libs:PagerSlidingTabStrip")
}
  1. If your library project doesn’t have build.gradle file you have to create it manually. Here is example of that file:

    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. Additionaly you can create global config for your project which will contain SDK versions and build tools version for every module to keep consistency. Just edit gradle.properties file and add lines:

    ANDROID_BUILD_MIN_SDK_VERSION=14
    ANDROID_BUILD_TARGET_SDK_VERSION=21
    ANDROID_BUILD_TOOLS_VERSION=21.1.3
    ANDROID_BUILD_SDK_VERSION=21

    Now you can use it in your build.gradle files (in app and libraries modules) like below:

    //...
    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. That’s all. Just click ‚Sync project with gradle’ icon sync with gradle. Your library should be available in your project.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值