I need to use RecyclerView with API 19 (API level 19).
I already have tried adding
implementation 'com.android.support:recyclerview-v7:+'
and
implementation 'androidx.recyclerview:recyclerview:1.0.0'
in build.gradle but no success. I am new to Android development. I have checked 3-4 similar questions but no solution worked for me.
Please if someone can tell me all of the changes I need to make in build.gradle, XML and/or in manifest file?
Thank you!
For these cases, apart from the things you mentioned, I also invalidate cache and restart. This helps me a lot sometimes.
I was able to run successfully after re-synching and re-building. If anyone faces this issue in future then add
implementation 'androidx.recyclerview:recyclerview:1.0.0'
in build.gradle (Module) and then use
<androidx.recyclerview.widget.RecyclerView
in XML. You will have to sync because of the change in build.gradle.
I have an android studio project where I recently changed the minSDK from 21 to 26. Now I saw that the project has a new dependecy
'androidx.legacy:legacy-support-v4:1.0.0' and I really don't know how it came here.
I never added that dependency to my project and now I don't know if I can safely delete it.
Is there a possibility that android studio added that dependency because of that minSDK change?
if not is there a way to see if the project needs that dependency.
Adding this line to my gradle:
implementation 'com.google.firebase:firebase-analytics:17.0.1'
Results in this error:
error: resource android:attr/fontVariationSettings not found.
Based on what I read online, to fix this, I upgrade my compileSdkVersion from 27 to 28:
compileSdkVersion 28
Then I get this error when I try to run:
Program type already present: com.google.android.gms.internal.measurement.zzbq
And from there it's a spinning circle changing things and version numbers and adding things to the settings.gradle, etc, with androidx. I have no idea how to fix this, and I imagine there is a more simple solution. Thoughts?
EDIT: It may be worth mentioning that when I made the above changes, I see red across all of these, indicating that it should not use a different version (27) than the compileSdkVersion (28), so I'm not sure if I should make that change:
implementation "com.android.support:support-v4:$rootProject.supportVersion"
implementation "com.android.support:appcompat-v7:$rootProject.supportVersion"
implementation "com.android.support:recyclerview-v7:$rootProject.supportVersion"
implementation "com.android.support:cardview-v7:$rootProject.supportVersion"
implementation "com.android.support:design:$rootProject.supportVersion"
Well try to change to the latest version of firebase-analytics
com.google.firebase:firebase-analytics:17.1.0
And in your build.gradle
classpath 'com.google.gms:google-services:3.2.1
Paste below lines in build.gradle (Module:app) may this help you:
configurations.all {
resolutionStrategy {
force 'com.android.support:support-v4:27.1.0'
}
}
This will force the build to use a lower support library.
Turned out I needed to go back to this version of Analytics for it to play nicely with my project:
implementation 'com.google.firebase:firebase-analytics:16.0.3'
The app compat libraries are not compatible with v17 or later of the analytics SDK, since it was migrated to androidx (androidx and the old v4 and v7 support libs are not compatible). So in order to use the latest one, we would have to migrate all code to use androidx (which was not an option at this time).
I am getting the error: "Ambiguous method call" on initializing Toolbar using Android Studio 3.0 RC1. I have extended my Activity with AppCompatActivity and compiling my application using 'compileSdkVersion 26'.
Attaching a screenshot of the error.
If you recently updated your project to API, Try doing
File -> Invalidate Caches / Restart
then
File -> Sync Project with Gradle Files
this resolve for me.
Upgrade to appcompat 27 solved this for me
For me, it was the compileSdkVersion which was different than the support libraries used
You have
import android.support.v7.app.AppCompatActivity
import android.app.Activity
both in your code.
Remove import android.app.Activity as I can see, it's not required for you.
For me changing build tool version to 27.0.2 worked, given that all your other dependencies are API 27 as well.
buildToolsVersion '27.0.2'
I have recently upgraded to build tools version 27.0.2 and faced the same problem. But noticed that I had the compileSdk version set to 25. Changing compileSdk to 27 resolved the issue.
"File - Invalidate Caches / Restart" Solved my problem.
For me none of the given solutions worked, however I had this issue because I had both 25 and 27 android sdk installed on my computer. As soon as I removed the sdk 25, the problem disappeared.
This can suddenly appear when running a code analyzer like FindBugs-IDEA. A quick way to clear the warning is to temporarily change the buildToolsVersion in your app/build.gradle then change it back again.
For example, follow these steps:
Open your app/build.gradle file.
Change buildToolsVersion to '26.0.1' then sync project (press the 'Sync Now' button when it appears at the top)
Change the buildToolsVersion back to whatever you had before.
Press the 'Sync Now' button
This should clear the error.
Maybe you have difference between compileSdkVersion and targetSdkVersion
I ran into the same issue with Android Studio 3.0.0 build 171.4408382. Building via Gradle on the command line worked just fine, but the IDE presented me with the above mentioned error. I have tried to use API level 26 with appcompat v26.1.0 and API level 27 with appcompat v27.0.1, but neither combination worked.
My "solution" was to downgrade compileSdkVersion and targetSdkVersion to API level 25 and the appcompat library to version 25.4.0.
For all of the mentioned version combinations I used Gradle plugin v3.0.0 and the Android build tool v27.0.1.
In my case, I removed the constraint layout dependency in the build.gradle (app) file and it solved the issue.
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:25.1.0'
//implementation 'com.android.support.constraint:constraint-layout:2.0.4'
}
if answers does not resolve your problem , you can reset your android studio.
I solved with reset my android studio.
For reset: https://stackoverflow.com/a/19397632/3129822
First make sure that you have no transitive dependencies that are using older support libraries. Run the following command and make sure that no older support libraries are in use.
gradlew :app:dependencies
Make sure that your gradle file is updated with latest dependencies. eg: compileSdkVersion 27, targetSdkVersion 27, buildToolsVersion 27.0.3. etc. It would also benefit to make sure that non of your app flavors have been using a custom targetSdkVersion.
Ctrl + click on the findViewById method. It will show you the 2(perhaps more?) conflicting methods. In my case the conflict was between the findViewById method from API 23 and API 27. Therefore I had to remove the SDK and sources for Android version 23. Once I removed it and did Invalidate Caches/Restart it solved my problem.
My compileSDK version was lower than the targetSDK version so all I had to do was match them and sync project and the error was resolved.
Removing "Android Fast Networking" library solved my problem
I've had the same issue
Mine was related to the compileSdkVersion number from build.gradle app.
Changed to the latest and it worked for me.
Upgrading your targetSdkVersion or buildToolsVersion might resolve the problem.
No need to Invalidate Caches / Restart if this is a new project.
I was working with a new project and in gradle files did not have version numbers set in them, there was "N" across minsdkversion and targetsdkversion, changing to desired sdk version solved the problem
Upgrading both appcompat to 27 and compleSdkVersion to 30 works for me.Just upgrade those in gradle build.
Just upgrade your minSdkVersion 26 Its works for me.
When we create a Android project with minimum SDK lower than 16 and after that we want to add new activity using 'New/Activity/Gallery' we see the indication 'Selected activity templates has minimum SDK level of 16'. So we need to modify 'minSdkVersion' in build.gradle file which leads us to 'Sync Now' process.
If we must build and maintain an app with min SDK lower then 16, we have to change 'constraint layout' to another layout. However when we do this the constraint layout dependency still remains in the dependencies section in the 'build.gradle' file. This caused me the error.
In summary, this is applicable when we need to build a android project with minimum SDK version lower than 16.
When we add a new activity, we change the minSdkVersion in the build.gradle above '16' then click of 'Sync Now'. After that we can choose one of activity template and create a new activity.
Now we change 'constraint layout' in the xml file corresponds to the new activity we created to for example 'linear layout' or 'relative layout'
At this point we make sure delete the dependency which refers to constraint layout in the 'build.gradle' and then click the 'Sync Now' again.
I think the best practice to avoid this error message is to make Android project with minimum SDK 16 and above.
These steps worked for me on Android Studio for Mac (Arctic Fox v11):
In 'build.gradle' file (for module), change appcompat implementation version to something invalid (e.g. Change 'com.android.support:appcompat-v7:25.1.0' to 'com.android.support:appcompat-v7:25')
Click 'Gradle sync now' and let it finish. This should generate lots of errors
Correct the verison back to original (e.g. 'com.android.support:appcompat-v7:25.1.0'). Click 'Gradle sync now' and let it finish
Original issue with findViewId should disappear
After adding the appCompat v7 library I get the error that R cannot be resolved, which is apparently due to the fact that R now exists twice. I found an answer to that problem here : Build errors after adding fullscreen activity in Android Studio
However, I dont have or cant find the file attrs.xml in \src\main\res\values\attrs.xml. Is there any other solution to that problem or can someone give me a detailed description of how to do that in Android Studio?
Thank you very much!!!
Put this in your /app/build.gradle file :
dependencies {
compile 'com.android.support:support-v4:18.0.0'
compile 'com.android.support:appcompat-v7:18.0.0'
}
and make sure the version code (here 18.0.0) is not higher than the buildToolsVersion in the same file :
android {
compileSdkVersion 16
buildToolsVersion "18.0.0"
}
then rebuild your project. Hope that helps!
Oh and make sure you have the right buildTools installed via SDK Manager! Actual version is 21.0.2 I think.
I'm may be noob, but after several search i was able to add appcompat.v7 in android studio.
Initially i was comfortable with Eclipse after Dex Error 65535, my whole hard work was doomed i thought.
As Honey suggested you have to add both support.v4 or v13 and appcompat.v7 in build.gradle.
That's it. This simple solution not even covered in google docs ;). A simple reminder appcompat depends on v4 or v13.