Gradle fails to resolve github project (simple) - android-studio

I want to use this library in my project: https://github.com/haldertaer/android-maps-utils
When I use implementation 'com.github.haldertaer:android-maps-utils:0.5' in Gradle, I get the following error: ERROR: Failed to resolve: com.github.haldertaer:android-maps-utils:0.5
And, yes, I already have this:
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
}
}
How can I fix this error? I do not see what's wrong.

As per the project documentation, the correct way to define the dependency for the official library is
implementation 'com.google.maps.android:android-maps-utils:0.5'
Update
As per your comment, you want to resolve the forked version rather than the official one using JitPack. When using JitPack, version must be one of "Release tag, commit hash or -SNAPSHOT" (Building with JitPack). You can try with
com.github.haldertaer:android-maps-utils:master-SNAPSHOT
or
com.github.haldertaer:android-maps-utils:72b39c8

Related

How to add an additional Maven repository to Android Studio build

I have added the following to the dependencies part of my app build.gradle
implementation 'org.seleniumhq.selenium:selenium-htmlunit-driver:3.56.0'
But I get the error:
Could not find org.seleniumhq.selenium:selenium-htmlunit-driver:3.56.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/org/seleniumhq/selenium/selenium-htmlunit-driver/3.56.0/selenium-htmlunit-driver-3.56.0.pom
- https://repo.maven.apache.org/maven2/org/seleniumhq/selenium/selenium-htmlunit-driver/3.56.0/selenium-htmlunit-driver-3.56.0.pom
- https://jcenter.bintray.com/org/seleniumhq/selenium/selenium-htmlunit-driver/3.56.0/selenium-htmlunit-driver-3.56.0.pom
Required by:
project :app
So in the project build.gradle file, I added to the repositories section:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
// ADDED THIS 2021 12 17
maven {
url("https://mvnrepository.com")
}
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:7.0.3"
}
}
I thought this would work because there's a page with selenium-htmlunit_driver_3.56.0 when I navigate there, the domain mvnrepository.com, with my browser.
What I expected was that the specified dependency would be found. Or alternatively, I would get a report that would include another line under "Searched in the following locations:", but adding that maven line to the project build.grade has no effect.
What do I need to do in order for the additional maven repository to be searched? The maven repository that gets pulled-in from the mavenCentral() entry (repo.maven.apache.org/maven2...) does not contain the version of selenium-htmlunit-drive that I'd like to try.
This is using Artic Fox 2020.3.1 Patch 3.
What am I doing wrong?
Artic Fox started using another technique built on depedencyResolutionManagment which introduced this head-scratching situation where the entries in the application-level build.grade file are not searched.
What worked for me in this situation was to go into settings.gradle (not build.gradle and change:
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
to
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
and for good measure, I put my additional repository into settings.gradle resulting in the following:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) // WAS: FAIL_ON_PROJECT_REPOS
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
maven {url 'https://mvnrepository.com'} // ADDED THIS
}
}
After making these changes, the appropriate artifacts were automatically downloaded by the Android Studio standard build process.
Try it with this URL: https://repo1.maven.org/maven2
The File is available here: Link
mvnrepository.com is only the frontend to search for dependencies, but not the file system with the jar-files themselves.

how to fix Gradle project refresh failed

why i'm gonna get this error?, how to fix it, i've tried to follow any intro, but it couldn't get fixed.
Gradle project refresh failed
Error:Could not download artifact 'com.android.tools.build:builder:0.12.2:builder.jar': No cached version available for offline mode
my build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.12.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
thanks for your solution/ideas.
Go to Settings->Build,Execution,Deployment->Gradle. And check Offline Work and try again.
Go to Settings->type gradle in search box and click on the result and uncheck the offline work

Android Studio Conflicting Classes when using Library

I have just started using Android Studio,
So forgive me if i am unable to explain the situation properly.
But i will try to update details as required.
In my gradle project i use JakeWarton DiskCache with nineoldandroids
Both as jar files added to the app/libs folder.
In addition there also a Library project from this location
https://android-arsenal.com/details/1/122
repositories {
maven {
url "https://jitpack.io"
}
}
dependencies {
compile 'com.github.flavienlaurent:datetimepicker:0f5d399995'
}
I use it by adding the repository and dependency as shown above.
When i try to run this project i get following error
Execution failed for task ':app:packageAllDebugClassesForMultiDex'.
java.util.zip.ZipException: duplicate entry: com/nineoldandroids/animation/Animator$AnimatorListener.class
I can understand that since my app has a copy of nineoldandroids.jar and the lib-project also needs it at compile time there is some kind of issue.
How can i fix this conflict?
The library com.github.flavienlaurent:datetimepicker:0f5d399995 is using the
nineoldandroids library as a maven dependency.
dependencies {
compile 'com.nineoldandroids:library:2.4.0'
//...
}
Check the original build.gradle file in github.
To solve your issue you have to:
remove the nineoldandroids.jar from your project
add the nineoldandroids library as maven dependency in your project
Use:
dependencies{
//
compile 'com.nineoldandroids:library:2.4.0'
}

What's wrong with my Android Studio gradle?

When I use compile 'xxx' to add a dependencies, an error message as follows:
what's wrong?
google's support-v4 is ok.
Hope someone can help me...
Thanks.
Gradle build system must resolve 'com.squareup.dagger:dagger:1.2.2' from somewhere.
In your case, looks you miss the following configuration in your gradle file.
repositories {
mavenCentral()
}
Then gradle will try to resolve the dependency from MavenCentral.
Of course, you can specify your own repository like this.
repositories {
maven {
url "http://repo.mycompany.com/maven2"
}
}
I make a new Android Studio project, it's ok to add dependencies with compile 'xxx'.Maybe the reason is the current project is import from Eclipse.

Can't import Material Design Library in android studio

I read this page, that learn "importing libraries into android studio". but it's doesn't work for me. i do those step for Material Design Library. in Material Design's build.gradle file have:
https://github.com/navasmdc/MaterialDesignLibrary/blob/master/MaterialDesign/build.gradle
when i click on "Sync Project with Gradle Files" it's gives me two error:
Error:(2, 0) Plugin with id 'com.github.dcendents.android-maven' not found.
Error:(3, 0) Plugin with id 'com.jfrog.bintray' not found.
Can any one tell me how to solve those error's?
note: i read this, but don't understand.
If you want to download the Material Design Library and import it without using the gradle method pyus13 mentioned, you need to add the following lines to the MaterialDesign Build.gradle file:
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.github.dcendents:android-maven-plugin:1.2'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
}
}
To find this file, you can double click on the error you get when syncing that looks like this:
Error:(2, 0) Plugin with id 'com.github.dcendents.android-maven' not found.
I also had to add compile project(':MaterialDesign') to the app build.gradle file.
Dont follow the above tutorial, the shown approach is useful when the library has not published as maven or gradle dependency.But as Github page say it is published on maven.
So remove the module or library project completely from your project and use gradle dependency instead.
Just copy this in your app module's build.gradle inside dependencies closure
dependencies {
// YOUR OTHER DEPENDENCIES
compile 'com.github.navasmdc:MaterialDesign:1.+#aar'
}
Sync your project with gradle.
This was kindly answered #pyus13 but I would like to give the complete answer, with the source, github.com/navasmdc/MaterialDesignLibrary#howtouse:
You can use the gradle dependency, you have to add these lines in your
build.gradle file:
repositories {
jcenter()
}
dependencies {
compile 'com.github.navasmdc:MaterialDesign:1.+#aar'
}
The build.gradle you are looking for is in ProjectName\app\src.
Add two dependencies in your Project build.gradle
dependencies {
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
}

Resources