How to add a jar in External Libraries in Android Studio?
Asked Answered
J

16

254

I am new to Android Studio.
How can I add a few jar files in the External Libraries below the < JDK > folder?

enter image description here

Joris answered 4/9, 2014 at 7:59 Comment(1)
Please check this link : #16588564Pedigree
H
448

A late answer, although I thought of giving an in-depth answer to this question. This method is suitable for Android Studio 1.0.0 and above.


STEPS


  1. First switch your folder structure from Android to Project.

enter image description here

  1. Now search for the libs folder inside the app folder.

enter image description here

  1. Once you have pasted the .jar file inside libs folder. Right click on the jar file and at end click on Add as library. This will take care of adding compile files('libs/library_name.jar') in build.gradle [You don't have to manually enter this in your build file].

enter image description here

Now you can start using the library in your project.

Heavyweight answered 6/2, 2016 at 14:11 Comment(1)
Yes, I found that now, if it is already added then that option will not show.Unrepair
S
147

Add your jar file to the folder app/libs. Then right click the jar file and click "add as library".

If there is no libs folder you can create it. Click on the combo box that says "Android", and change it to "Project"

enter image description here

From here, you can right click on "apps" in the directory tree and go to "New" => "Directory"

Slapup answered 5/9, 2014 at 8:29 Comment(3)
If you can't find a lib folder, just click on the combobox that says "android" and choose "Project". (that button is on the top of the project explorer)Baldwin
You can then expand your Project to find the "libs" folder or right click your project and make a new directory. You can then move the JAR file for your library into that directory using your OS file manager. (Thanks, @reversiblean for getting me started!)Ganja
+1 for @reversiblean's comment -- the default view is "Project Files" not "Project", and that view doesn't show the "app/libs" folder, but won't let you create it either.Peeples
R
108

Put your JAR in app/libs, and in app/build.gradle add in the dependencies section:

implementation fileTree(dir: 'libs', include: ['*.jar'])
Ree answered 4/9, 2014 at 8:1 Comment(4)
can I choose another/ My own path like "values\my_folder\myjar.jar" ??? because I am working on source code of android studio.Diversiform
You just need to change the value of 'dir' (so replace 'libs' with whatever you need).Floria
compile is deprecatedErotomania
yes, Deepak is correct - 'compile' is deprecated...so just replace it with 'implementation' and it should work fine.Penoyer
C
57

Create "libs" folder in app directory copy your jar file in libs folder right click on your jar file in Android Studio and Add As library... Then open build.gradle and add this:

dependencies {
    implementation files('libs/your jar file.jar')
}
Contradictory answered 4/9, 2014 at 8:5 Comment(1)
Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.Duckworth
E
28

Step 1: Download any JAR file for your Project.enter image description here

Step 2: Copy .jar file and past in libs folder.

enter image description here enter image description here

Step 3: Click on File > Project Structure >Select app > Dependencies

enter image description here

Step 4:

enter image description here

Step 5:

enter image description here

Step 6: After click Ok button then we can see the Dependencies add like this way:

enter image description here

Electrosurgery answered 22/4, 2019 at 6:34 Comment(2)
Out of date. Anyone have the solution for Android Studio 4.0? These interfaces no longer existHitoshi
@BrianReinhold, yes. You can see easier ways here, for instance, @Enamul Haque. Inside app folder create libs, add a library there. Then in app\build.gradle write: implementation files('libs/library_name.jar')Prase
T
18

In Android Studio version 3.0 or more I have used bellow like :

  1. Create libs to the app directory if not exist folder like
  • Set Project view in upper left corner
  • Go to project
  • Go to app
  • click on apps->New->Directory
  • name the folder libs
  • paste the jar to the libs folder
  • directory will look like bellow image

enter image description here

  1. In build.gradle add these lines

    // Add this line if was not added before.
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    
    implementation files('libs/com.ibm.icu_3.4.4.1.jar')
    
Tripura answered 29/5, 2020 at 10:15 Comment(0)
J
15

Example with Parse jar...

Add jars to libs folder from Project view … create lib folder if not exists

enter image description here

Copy all jars there...

Add libs to gradle.... in build.gradle file :

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.android.support:design:23.0.0'
    compile 'com.android.support:percent:23.0.0'
    compile 'com.parse.bolts:bolts-android:1.+'
    compile fileTree(dir: 'libs', include: 'Parse-*.jar’)
}

For add all jars of lib folder... change Parse-*.jar to *.jar

Jellied answered 3/10, 2015 at 21:55 Comment(0)
S
14

This is how you can add .jar file in Android Studio 2.1.3.

  1. Copy the .jar file jar file copy screenshot

  2. paste the file in Libs folder and then right click on .jar file and press Add as library enter image description here

  3. open build.gradle enter image description here

  4. add lines under dependencies as shown in screenshot enter image description hereenter image description here

  5. Now press play button and you are done adding .jar file enter image description here

Santana answered 16/8, 2016 at 6:53 Comment(2)
(At least with AS 2.3) You can skip Steps 3 & 4. AS automatically adds the JAR to your build.gradle dependencies.Lalittah
skip steps 3 and 4, then open File->Project Structure->app->dependencies-> click + -> jar dependencies and choose jar file. its work for meTunic
O
4

The GUI based approach would be to add an additional module in your project.

  1. From the File menu select Project Structure and click on the green plus icon on the top left.
  2. The new Module dialog pops
  3. From the phone and tablet application group select the "Import JAR or AAR package" option and click next.
  4. Follow the steps to create a new module that contains your JAR file.
  5. Click on the entry that corresponds to your main project and select the dependencies tab.
  6. Add a dependency to the module that you created in step 4.

One final piece of advice. Make sure that the JAR file you include is build with at most JDK 1.7. Many problems relating to error message "com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)" root straight to this :0.

Ozmo answered 9/6, 2015 at 8:35 Comment(3)
Do you confirm this approach is better than "copy-jar-to-libs" folder approach as other answers says?Ephemerid
@Ephemerid This is how I did it back in 2015. I remember trying to include JSON parsing in an Android application and this is what actually worked.Ozmo
Which approach do you recommend I should I use in your opinion for simple external JAR addition?Ephemerid
T
4

A simple way to add Jar file Android Studio Steps:

  1. Copy and paste your jar file to libs folder of your project.
  2. Click File from File menu -> Project Structure (CTRL + SHIFT + ALT + S on Windows/Linux, ⌘ + ; on Mac OS X).
  3. Select Modules at the left panel -> Dependencies tab.
  4. Add... → Project Library → Attach Jar.
Thread answered 14/12, 2016 at 12:8 Comment(0)
P
4

If anyone is looking for another solution without actually copying the jar file(s) into the project directory, e.g. when using a jar in multiple projects:

Open build.gradle and add

def myJarFolder = 'C:/Path/To/My/Jars'

[...]

dependencies {
    [...]
    compile fileTree(dir: myJarFolder + '/jar/Sub/Folder/1', include: ['*.jar'])
    compile fileTree(dir: myJarFolder + '/jar/Sub/Folder/2', include: ['*.jar'])
    [...]
}

Note that of course you don't have to use the myJarFolder variable, I find it useful though. The path can also be relative, e.g. ../../Path/To/My/Jars.
Tested with AndroidStudio 3.0

Update: For Gradle Plugin > 3.0 use implementation instead of compile:

dependencies {
        [...]
        implementation fileTree(dir: myJarFolder + '/jar/Sub/Folder/1', include: ['*.jar'])
        implementation fileTree(dir: myJarFolder + '/jar/Sub/Folder/2', include: ['*.jar'])
        [...]
    }
Puleo answered 15/1, 2018 at 11:24 Comment(1)
I'm having an issue with this. I am doing it an a library and the app that depends on the library is running into NoClassDefFoundError. I am also getting a lot of errors around not being able to find the class for desugaringButyrate
S
4
  1. Create libs folder under app folder and copy jar file into it.
  2. Add following line to dependcies in app build.gradle file:
implementation fileTree(include: '*.jar', dir: 'libs')
Startling answered 29/12, 2020 at 20:42 Comment(0)
A
2

If you dont see option "Add as Library", make sure you extract (unzip) your file so that you have mail.jar and not mail.zip.

Then right click your file, and you can see the option "Add as library".

Apiarist answered 18/6, 2019 at 13:44 Comment(0)
H
2

Please provide the jar file location in build.gradle

implementation fileTree(dir: '<DirName>', include: ['*.jar'])

Example:

implementation fileTree(dir: 'C:\Downloads', include: ['*.jar'])

To add single jar file

implementation files('libs/foo.jar')

Note: compile is deprecated in latest gradle, hence use implementation instead.

Hereditament answered 22/9, 2019 at 7:41 Comment(0)
G
1

The "official way" to add a jar into your android project as an external library, is to add the jar in dependencies { } section in build.gradle.

If you've done all of the above, and none of the above works, then there are two other possibilities:

  1. If Android Studio or some other IDE doesn't give red underlined errors in editor but runs in error in the Java Compiler, CHECK YOUR JAR. Your jar may not have a proper Manifest included therefore the compiler doesn't know what the jar can provide/don't know it's package name
  2. Maybe it's folder structure is messed up. The folder structure doesn't match with its package name. package a.b.c; should be matching to folder a > folder b > folder c.
  3. The package name has some conflict. (Trust me, this happened to me and it took hours to figure it out.)

However, if you are going with cordova, here are some tips of adding external jars.

"build-extras.gradle" is the better way to manage your gradle file.

Here are the steps to manage extra settings in cordova-based android project:

  1. Adding your jar into build-extras.gradle:
    //Other settings go here, e.g.: buildscript { ... }
    ext.postBuildExtras = {
    // you may have some other settings, e.g.: android { ... }
            dependencies {
                    compile files('libs/abc.jar')
            }
    }
    

(More detailed steps here: Extending the cordova gradle file to include google services )

  1. In terminal, do:

cordova build android

Gamber answered 5/11, 2018 at 7:31 Comment(0)
S
1

Manually:

  1. Add libs folder in your project(Where build.gradle is located). E.g. app
  2. Move .jar into libs
  3. Add implementation files('libs/<name>.jar') into build.gradle. It is the same as UI Add as library do
Signora answered 24/1, 2021 at 21:56 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.