I am trying to test to reference without copying a library Project. So I created two projects one is ProjectA and one is LibraryA. Both projects are located inside the \StudioProjects folder. I am trying to reference LibraryA from ProjectA and I get the error at the title.
Here is settings.gradle from ProjectA
include ':app'
include ':LibraryA'
project(':LibraryA').projectDir = new File('../LibraryA')
Here is dependincies from app build.gradle of ProjectA
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile project(':LibraryA')
}
I am using Android Studio 1.5.1
If I remove compile project(':LibraryA') from dependencies it builds normally, however then I can't referance classes from LibraryA inside ProjectA.
In your settings.gradle (ProjectA) you are referring the wrong folder.
include ':LibraryA'
project(':LibraryA').projectDir = new File('../LibraryA')
Checking your image, the LibraryA folder is a root folder.
Gradle is searching for a "module" build.gradle while in this folder there is a top-level file configuration.
You have to refer to the module inside the LibraryA
project(':LibraryA').projectDir = new File('../LibraryA/app')
Of course you have to pay attention if some tasks or variable are defined in the top-level file (LibraryA). In this case you have to clone them inside your top-level file (ProjectA)
One of your projects does not have a valid gradle file. If your library is not a gradle project convert it to gradle project.
If you add your library as a module and select "gradle" when you are importing i think you'll solve your problem.
I just do not understand what you want to do. But try changing the following line:
project(':LibraryA').projectDir = new File('../ProjectA')
I want to import the library https://github.com/jpardogo/FlabbyListView
First, I download the Zip file, then I extract it then I copy it to the lib folder of my project, then I turn on my project in Android Stduio. I add this line in the build.gradle compile 'com.jpardogo.flabbylistview:library:(latest version)'. But the Android Studio show:
How can I fix it?
You are mixing two concepts. If you use the compile dependency you don't have to put the jar in libs, and if you put the jar, don't put the managed dependency.
What the line compile library:artifact:version does is putting in your classpath in compile time the corresponding library, downloading it for you from a maven repository.
That said, I suggest you to remove the .jar and change your line of compile to:
compile 'com.jpardogo.flabbylistview:library:1.0.0
if you are manually adding the library to android. then you will add it to you project also.
In you settings.gradle file for the project add
include ':nameoflibrary'
or
include 'lib:nameoflibrary'
Where lib is the name of the folder you added the library and nameoflibrary is the actual name of the library.
then in you actual module usually the app-module gradle file add
dependencies {
compile project(':nameoflibrary')
}
or
dependencies {
compile project('lib:nameoflibrary')
}
same analogy too.
But if you are adding it from the repository you only need to add this line of code in your app-module gradle
dependencies {
compile 'com.jpardogo.flabbylistview:library:(latest version)'
}
I have just downloaded Android Studio 1.0.1 and this is the new project structure
and when i see it in the explorer there is a empty libs folder
i want to import 3 external libraries i have, which i want to use.
build.gradle has already defined this
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}
but when i copy my libraries in libs folder my project still dont recognize it,
how do i make use of the libs folder and copy my libraries in this folders and use it?
any help?
Edit:
it was a simple question, how to add libraries to project in Android Studio
like we do in eclipse, for eg i have a library project(a folder, not a jar!).
in my case i have a library project 'viewPagerIndicator' (again a Library folder, not a jar!) i have to add it to my project like i use to do it with eclipse by importing project, right click->properties->android->Library->add-> select the library project
PS: i have found the answer now.
suppose my library project name is 'viewPagerIndicator'
- Copy library project on root of my Android Studio Project
- Under build.gradle(under your Android Studio Project folder) write this under dependencies
compile project(':viewPagerIndicator')
- include it in settings.gradle, write:
include ':viewPagerIndicator'
- Sync project with gradle files
this is how project structure look like now:
so sorry that admins stopping the question without understanding it.
First you have to add library project (module) in Android Studio
File -> Import Module
To add library project (module) in build path, click
File -> Project Structure
On the left hand side click on
app -> Dependencies tab -> green + button -> Module dependency
Now select the library project you already added.
For more details refer this link
In My Case to add external library project into android studio 1.1.0
step-1 : File -> Import Module -> set path for library project
step-2 : Set dependencies{} in main projects's build.gradle like,
dependencies {
compile project(':facebookSDK')
compile project(':slidingMenu')
compile project(':SkyconsLibrary')
}
I am new to Android Studio.
How can I add a few jar files in the External Libraries below the < JDK > folder?
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
First switch your folder structure from Android to Project.
Now search for the libs folder inside the app folder.
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].
Now you can start using the library in your project.
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"
From here, you can right click on "apps" in the directory tree and go to "New" => "Directory"
Put your JAR in app/libs, and in app/build.gradle add in the dependencies section:
implementation fileTree(dir: 'libs', include: ['*.jar'])
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')
}
Step 1: Download any JAR file for your Project.
Step 2: Copy .jar file and past in libs folder.
Step 3: Click on File > Project Structure >Select app > Dependencies
Step 4:
Step 5:
Step 6: After click Ok button then we can see the Dependencies add like this way:
In Android Studio version 3.0 or more I have used bellow like :
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
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')
Example with Parse jar...
Add jars to libs folder from Project view … create lib folder if not exists
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
This is how you can add .jar file in Android Studio 2.1.3.
Copy the .jar file
paste the file in Libs folder and then right click on .jar file and press Add as library
open build.gradle
add lines under dependencies as shown in screenshot
Now press play button and you are done adding .jar file
The GUI based approach would be to add an additional module in your project.
From the File menu select Project Structure and click on the green
plus icon on the top left.
The new Module dialog pops
From the phone and tablet application group select the "Import JAR or AAR package" option and click next.
Follow the steps to create a new module that contains your JAR file.
Click on the entry that corresponds to your main project and select the dependencies tab.
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.
A simple way to add Jar file Android Studio Steps:
Copy and paste your jar file to libs folder of your project.
Click File from File menu -> Project Structure (CTRL + SHIFT + ALT + S on Windows/Linux, ⌘ + ; on Mac OS X).
Select Modules at the left panel -> Dependencies tab.
Add... → Project Library → Attach Jar.
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'])
[...]
}
Create libs folder under app folder and copy jar file into it.
Add following line to dependcies in app build.gradle file:
implementation fileTree(include: '*.jar', dir: 'libs')
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".
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.
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:
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
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.
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:
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 )
In terminal, do:
cordova build android
Manually:
Add libs folder in your project(Where build.gradle is located). E.g. app
Move .jar into libs
Add implementation files('libs/<name>.jar') into build.gradle. It is the same as UI Add as library do
I am trying to use the loopj library in my Android project. In the project home page it says "Download the latest .jar file from github and place it in your Android apps libs folder". I did that!
As indicated in the documentation of the loopj I try to import it using the following
import com.loopj.android.http;
and nothing happens. It is not even coming up in intellisense.
Am I doing anything wrong?
in the build.gradle file add your jar such as below then rebuild.
dependencies {
compile files('libs/android-async-http-1.4.4.jar')
}
into the build.gradle file add the following::
dependencies {
// ... other dependencies
compile files('libs/<your jar's name here>')
}
Rebuid your project or Run ./gradlew assemble. This should compile the project with the library.
To let the Android Studio load all of your jar files by itself automatically, just write this line in the dependency section
compile fileTree(dir: 'libs', include: ['*.jar'])
This will help android studio to load all of your jar files available in libs folder.