How to use and package a JAR file with my Android app?

16,897

Solution 1

As explained by this SO question:

  • Your Project -> right click -> Import -> Archive File -> yourjar.jar
  • Your Project -> right click -> Properties -> Java Build Path -> Libraries -> Add Jar -> yourjar.jar

You must add it as "external JAR" files, and set the "Order and Export" in your Eclipse project.

eclipseexternallibrary2.png


Update February 2012:

Pacerier mentions in the comment having an issue (ClassNotFound) even though he did declare the library.
He had:

class not found

However, the solution was simple:

Over 1 hour wasted. Man was I pissed!
Solution: make sure your JAR is compiled with 1.6 and not 1.7.
Argh

Solution 2

Thanks to VonC for pointing me in the right direction. I had the same symptoms but for a different library (I needed to add org.apache.commons.codec.binary.Base64 for an Android project). The solution that worked for me was SLIGHTLY different. Herewith the steps that I followed:

  1. Download library from http://commons.apache.org/codec/download_codec.cgi
  2. Extract commons-codec-1.6.jar from the tarball and copy to a local folder
  3. In eclipse:
    • right-click project name
    • choose "Properties" from context menu
    • on "Libraries" tab, select "Add External JARs..."
    • navigate to and select commons-codec-1.6.jar from the location you extracted it to your local drive
  4. The jar file will now appear under "referenced Libraries" in your Package Explorer and you will be able to reference the library in your code.
Share:
16,897
Eno
Author by

Eno

Experienced mobile / web developer and systems admin (Linux, Solaris). Ive been using Linux since 1992 (anyone remember the SLS distro? But I still love my ole Beeb ;-)

Updated on June 17, 2022

Comments

  • Eno
    Eno almost 2 years

    I have an API in the form of a JAR that I would like to use in my Android app. Not sure if it should be part of the project in Eclipse or kept separate and added to the project properties. This JAR also needs to be packaged with the application, so how is that done for Android apps?