The best way to integrate third party library in Android studio

I prefer to use central repository for dependencies management. So for gson 2.3 dependency you should add to build.gradle file:

  • Specify that you want to use maven central repository for your dependency

    repositories {jcenter()}

  • Add compile dependency to gson 2.6.2

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

Android Studio as well as your CI server should easily build your project now. And you can continue app development.

I prefer to use central repository for dependencies management because:

  • easier scope management – some libraries are only for testing, some should be included to apk and some are part of running environment (like android.jar itself)
  • easier transitive dependencies management – it is quite hard to collect libraries dependencies and if you use “jar-with-dependencies” you could get error “class already added” during dexing
  • lighter repository and easier dependency upgrade

Examples:

  • Robolectric jar should be used for unit testing only and shouldn’t be part of apk itself
  • Repository is clean from different folders with jars, checkout takes much less. No needs to download and replace old jars with new jars

I should notice:

  • Not many libraries are in maven central and you should make some effort to use them such way in your project
  • You could much easier get to “class already added” error during dexing with central repository approach
  • You can mix usage of dependencies from central repository and from lib folder, but I prefer to use only one way for simplicity

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)