Issues when upgrading support library to v28 or androidx - android

I am working on an Android project where I use:
com.android.tools.build:gradle 3.1.3
org.jetbrains.kotlin:kotlin-gradle-plugin 1.2.50
com.google.gms:google-services 3.2.0
compileSdkVersion 27
minSdkVersion 21
targetSdkVersion 27
com.google.dagger:dagger 2.12
com.google.dagger:dagger-android-support 2.12
com.android.support:appcompat-v7 27.1.1
The project is made using Kotlin and Databinding.
If I upgrade compileSdkVersion and targetSdkVersion to 28, project gets compiled.
But then when I try to upgrade to Androidx or AppCompat Library V7 28.0.0 and after fixing all dependencies, I usually end up getting following errors:
symbol: class DataBindingComponent
location: class SomeProjectClassBinding
e: /Users/a/project/databinding/SomeProjectClassBinding.java:76:
error: cannot find symbol
#Nullable DataBindingComponent component) { ...
I tried several things, including:
Using kapt "com.android.databinding:compiler" and also not using it. By default I have not that line since I read it is already included in Android Studio 3.2.
Although I am using Android Studio 2.3, I tried 3.3 Canary 13.
I tried upgrading com.android.tools.build:gradle to 3.3.0-alpha13
I tried removing org.gradle.jvmargs from gradle.properties.
I tried upgrading ext.kotlin_version to 1.2.71
I tried running gradle from terminal, so I can get the dependencies trees but I couldn't find anything inusual.
I tried to clean and rebuild project.
After upgrading all project's dependencies to the latest version, I do not get any warning from Android Studio but the project doesn't compiles because the error mentioned above.
So, is there anything I can do to know more why I am getting this databinding error ?, is there a sample project published where it is using:
Latest version of Android API, i.e. 28
Latest version of Support Library or Jetpack
Latest version of Dagger
Databinding
Kotlin
Also, do we know if the latests version of these are compatible with each other, like Android API 28 or Androidx with Dagger 2.17.

Related

recommend using a newer Android Gradle plugin to use compileSdk = 32

who can help me fix this warning " We recommend using a newer Android Gradle plugin to use compileSdk = 32
This Android Gradle plugin (7.0.4) was tested up to compileSdk = 31
This warning can be suppressed by adding
android.suppressUnsupportedCompileSdk=32
to this project's gradle.properties
The build will continue, but you are strongly encouraged to update your project to
use a newer Android Gradle Plugin that has been tested with compileSdk = 32
"
How to fix it?
thanks All
With upcoming versions of AGP, this should be solved but till then you can follow the quick suppression fix given there in the warning:
"This warning can be suppressed by adding android.suppressUnsupportedCompileSdk=32 to this project's gradle.properties"
EDIT:-
I checked today and there's now no need to suppress the warning.
AGP Version: 7.2.0-alpha07
Gradle Version: 7.4-rc-1

Adding Gradle Dependency Breaks Gradle Build

I added the stripe sdk to my kotlin app and can no longer build my application.
Addition to grade file:
implementation 'com.stripe:stripe-android:16.8.2'
Build error:
/Users/username/.gradle/caches/transforms-2/files-2.1/6fabb8e15860d0b2ea75a56e95ee9aa5/jetified-kotlin-stdlib-common-1.5.0.jar!/META-INF/kotlin-stdlib-common.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.16.
Removing the stripe dependency fixes the issue. I also tried deleting the cache folder referenced in the error message and it was just recreated and the issue persisted.
The problem seems to be a mismatch between the kotlin library used in your project and the version of the plugin that is not compatible.
Upgrade your Gradle version by going to File>Project Structure.
Ps:(also try downgrading your kotlin version to one of the 1.4.x versions)
Another developer ran into this same issue and solved it by upgrading Gradle
I updated my gradle like this
// id 'org.jetbrains.kotlin.android.extensions' deprecated
id 'kotlin-parcelize'
and in project gradle add this
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32"
so now it works.

bringing down the target sdk and error syncing

In android studio, I am compiling against version 26.
However I decided to change the compile and target sdk to v23 but the issue is that I keep getting the error below upon sync gradle
Error:resource android:style/TextAppearance.Material.Widget.Button.Borderless.Colored not found.
How can I get rid of it? It does not even point to lines of code
Thanks
This is probably because you have different version of compileSdkVersion and support library version. If you want to compile against version 23, you need to change your support library to version 23 too.
Your compileSdkVersion, buildToolsVersion, targetSdkVersion, and support library should use the same version.

Android Studio App not opening on Physical Device [duplicate]

When I try to render a layout preview in Android Studio I get error:
Unsupported major.minor version 52.0
Check your JAVA_HOME to use jdk 1.8
Also check : the parameter in Android Studio in order to change at
File->Other Settings->Default Project Structure->SDKs
This is bug in Android Studio.
Usually you get error: Unsupported major.minor version 52.0
WORKAROUND: If you have installed Android N, change Android rendering version with older one and the problem will disappear.
SOLUTION: Install Android SDK Tools 25.1.3 (tools) or higher
I've all done, setting JAVA_HOME, JAVA8_HOME, ... and i had always the error.
For me the solution was to set the version 2.1.0 of gradle to work with Jdk 1.8.0_92 and android studio 2.11
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
//classpath 'com.android.tools.build:gradle:2.+'
}
For those of you, who are still facing this.
I got this problem after I upgraded to Android Studio to 2.1.2.
I was stuck at this problem for about an hour, I tried these solutions:
multidexEnabled true
increasing the memory for deamon thread
upgraded to Java 8
I double checked the gradle scripts and found this:
compileSdkVersion 23
buildToolsVersion "24.0.0"
changed to:
compileSdkVersion 23
buildToolsVersion "23.0.3"
I don't know how this caused the error, but this did the trick for me.
Please let me know how this worked if you know the answer.
Thanks
Unsupported major.minor version 52.0
When a higher JDK is used for compilation it creates class file with
higher version and when a lower JDK is used to run the program it
found that higher version of class file not supported at JVM level and
results in java.lang.UnsupportedClassVersionError.
How to fix
Increase the JAVA version you are using to run your program
You can follow some tricks
Call stable version classpath 'com.android.tools.build:gradle:2.1.0' // 2.3.0
Configuring Gradle
To enable the Java 8 language features and Jack for your project, enter the following in your module-level build.gradle file:
android {
...
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
Courtesy goes to Java 8 Language Features
Just select "API 23: Android 6.0" from preview section .
If you're seeing this error and you just upgraded to Android Studio 2.2+ you need to update your JDK in "Project Structure" options.
On OSX, this is found under File > Project Structure > SDK. Or from the welcome screen in Configure > Project Defaults > Project Structure.
Select the Use the embedded JDK (recommended) option instead of using your own JDK.
Google's docs aren't yet updated to reflect this change. See: http://tools.android.com/tech-docs/configuration/osx-jdk
Im my case I had to change the dependencies of the build.gradle file to:
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
}
(originally was 2.2.2)
I guess this was generated by get several people working in the same project with different versions of gradle. So check your gradle version and edit this file properly.
Good vibes!
With the latest version, you are recommended to switch to the embedded JDK like in the image below, and this will solve your error
I also got the same error message of 'Unsupported major.minor version 52.0' when running ./gradlew makeJar to create a jar library by Android Studio 2.2.3.
After moving down the version of gradle plugin in build.gradle from 2.2.2 to 2.1.3, the error message disappeared and all worked well.
classpath 'com.android.tools.build:gradle:2.1.3'
I don't know how the higer version of gradle plugin caused the error, but this did the trick for me. please let me know how this worked if you know the answer, thanks
1、make sure Gradle Gradle JVM Version
2、make sure ProjectSettings SDKs Veriosn
For me, updating the Android Studio to the latest version solved the problem.
I tried to find solution to this problem.I tried most of the solutions mentioned in this thread. However, I am not very sure why this was occurring. Probably a bug in Android Studio. Anyhow, this is what solved the problem:
In Application level build.gradle,
removed:
classpath 'com.android.tools.build:gradle:2.2.0-beta1'
replaced with:
classpath 'com.android.tools.build:gradle:2.0.0'
This occur due to incompatible java version you are using in android studio and the java version that was used with your imported project.
Go to
File->Project structure->Change jdk 1.7 to jdk 1.8 .After that Go to File->click on Invalidate cache and Restart.
Hope this helps..
And change the dependency classpath in gradle file
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
Changing to Java SDK to Java 8 worked for me.
Android Studio settings: File -> other settings ->Default project structure -> JDK location -> jdk1.8.0_71.jdk/Contents/Home
Make sure to do a clean build after changing a version of Java. As it turns out Android Studio does some work when you switch the JDK but doesn't clean the workspace and creates confusion ¯\_(ツ)_/¯
This error "Unsupported major.minor version 52.0" refers to the java compiler, although the string "major.minor" looks very similar to the Android SDK version format.
On Windows platform, asides updating jdk to 1.8, make sure JAVA_HOME point to where your jdk 1.8 is installed (i.e. C:\Program Files\Java\jdk1.8.0_91).
I had to update Java version to JDK 8 at Jenkins->Manage Jenkins->Global Tool Configuration->JDK.
Changing to Java SDK to Java 8 and worked for me
Android Studio settings:
File > other settings > Default project structure > JDK location > jdk1.8.0_71.jdk/Contents/Home
Android Studio behaves weird in the case. Even though you set the JDK version in File -> Project Structure -> SDK Location, Android Studio only uses this for compiling the files. When it runs these files it, for some reason, looks at the PATH variable to find where java is installed.
If you have an older version of java installed on your system, then your PATH variable will be pointing to that older version of java.
So you have to set your PATH to point to the same version of java that have set in your Android studio project settings.
In your ~/.bashrc or corresponding profile file add this:
export PATH="/Applications/studio.app/Contents/jre/jdk/Contents/Home/bin:$PATH"
In my case my project was configured to use java 1.8, but my system wide installation of java was java 1.7. This was causing the issue.
For my case, my original Android SDK Build-tools version is 24 and Andoid SDK Tools version is 25.1.7. I install Android SDK Build-tools version 23.0.3 by Andoird SDK manager.
Modify these 2 lines to:
buildToolsVersion "23.0.3"
compileSdkVersion 24
Then it works!
Download latest JDK and install. Go toVS2015 Tools > Options > Xamarin and change the java to the latest JDK location
Also, if issue appears while executing ./gradlew command, setting java home in gradle.properties file, solves this issue:
org.gradle.java.home=/usr/java/jdk1.8.0_45/
For me the problem was that the version of gradle in build.gradle was not same as the actual gradle version I had installed.
dependencies {
classpath('com.android.tools.build:grade:2.2.0') {
force = true}
Check your installed gradle versions at /Contents/gradle/m2repository/com/android/tools/build/gradle/
and change the above build.gradle file with
classpath('com.android.tools.build:grade:1.5.1') or <>
I had got the same error and I had JDK 8 set as JAVA_HOME. It turned out that I had Android SDK Build-tools rev 25.0.2 installed. I removed this and installed 23.0.2 instead and it worked for me.
change to
buildToolsVersion "23.0.2" in app gradle file.

Unsupported major.minor version 52.0 when rendering in Android Studio

When I try to render a layout preview in Android Studio I get error:
Unsupported major.minor version 52.0
Check your JAVA_HOME to use jdk 1.8
Also check : the parameter in Android Studio in order to change at
File->Other Settings->Default Project Structure->SDKs
This is bug in Android Studio.
Usually you get error: Unsupported major.minor version 52.0
WORKAROUND: If you have installed Android N, change Android rendering version with older one and the problem will disappear.
SOLUTION: Install Android SDK Tools 25.1.3 (tools) or higher
I've all done, setting JAVA_HOME, JAVA8_HOME, ... and i had always the error.
For me the solution was to set the version 2.1.0 of gradle to work with Jdk 1.8.0_92 and android studio 2.11
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
//classpath 'com.android.tools.build:gradle:2.+'
}
For those of you, who are still facing this.
I got this problem after I upgraded to Android Studio to 2.1.2.
I was stuck at this problem for about an hour, I tried these solutions:
multidexEnabled true
increasing the memory for deamon thread
upgraded to Java 8
I double checked the gradle scripts and found this:
compileSdkVersion 23
buildToolsVersion "24.0.0"
changed to:
compileSdkVersion 23
buildToolsVersion "23.0.3"
I don't know how this caused the error, but this did the trick for me.
Please let me know how this worked if you know the answer.
Thanks
Unsupported major.minor version 52.0
When a higher JDK is used for compilation it creates class file with
higher version and when a lower JDK is used to run the program it
found that higher version of class file not supported at JVM level and
results in java.lang.UnsupportedClassVersionError.
How to fix
Increase the JAVA version you are using to run your program
You can follow some tricks
Call stable version classpath 'com.android.tools.build:gradle:2.1.0' // 2.3.0
Configuring Gradle
To enable the Java 8 language features and Jack for your project, enter the following in your module-level build.gradle file:
android {
...
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
Courtesy goes to Java 8 Language Features
Just select "API 23: Android 6.0" from preview section .
If you're seeing this error and you just upgraded to Android Studio 2.2+ you need to update your JDK in "Project Structure" options.
On OSX, this is found under File > Project Structure > SDK. Or from the welcome screen in Configure > Project Defaults > Project Structure.
Select the Use the embedded JDK (recommended) option instead of using your own JDK.
Google's docs aren't yet updated to reflect this change. See: http://tools.android.com/tech-docs/configuration/osx-jdk
Im my case I had to change the dependencies of the build.gradle file to:
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
}
(originally was 2.2.2)
I guess this was generated by get several people working in the same project with different versions of gradle. So check your gradle version and edit this file properly.
Good vibes!
With the latest version, you are recommended to switch to the embedded JDK like in the image below, and this will solve your error
I also got the same error message of 'Unsupported major.minor version 52.0' when running ./gradlew makeJar to create a jar library by Android Studio 2.2.3.
After moving down the version of gradle plugin in build.gradle from 2.2.2 to 2.1.3, the error message disappeared and all worked well.
classpath 'com.android.tools.build:gradle:2.1.3'
I don't know how the higer version of gradle plugin caused the error, but this did the trick for me. please let me know how this worked if you know the answer, thanks
1、make sure Gradle Gradle JVM Version
2、make sure ProjectSettings SDKs Veriosn
For me, updating the Android Studio to the latest version solved the problem.
I tried to find solution to this problem.I tried most of the solutions mentioned in this thread. However, I am not very sure why this was occurring. Probably a bug in Android Studio. Anyhow, this is what solved the problem:
In Application level build.gradle,
removed:
classpath 'com.android.tools.build:gradle:2.2.0-beta1'
replaced with:
classpath 'com.android.tools.build:gradle:2.0.0'
This occur due to incompatible java version you are using in android studio and the java version that was used with your imported project.
Go to
File->Project structure->Change jdk 1.7 to jdk 1.8 .After that Go to File->click on Invalidate cache and Restart.
Hope this helps..
And change the dependency classpath in gradle file
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
Changing to Java SDK to Java 8 worked for me.
Android Studio settings: File -> other settings ->Default project structure -> JDK location -> jdk1.8.0_71.jdk/Contents/Home
Make sure to do a clean build after changing a version of Java. As it turns out Android Studio does some work when you switch the JDK but doesn't clean the workspace and creates confusion ¯\_(ツ)_/¯
This error "Unsupported major.minor version 52.0" refers to the java compiler, although the string "major.minor" looks very similar to the Android SDK version format.
On Windows platform, asides updating jdk to 1.8, make sure JAVA_HOME point to where your jdk 1.8 is installed (i.e. C:\Program Files\Java\jdk1.8.0_91).
I had to update Java version to JDK 8 at Jenkins->Manage Jenkins->Global Tool Configuration->JDK.
Changing to Java SDK to Java 8 and worked for me
Android Studio settings:
File > other settings > Default project structure > JDK location > jdk1.8.0_71.jdk/Contents/Home
Android Studio behaves weird in the case. Even though you set the JDK version in File -> Project Structure -> SDK Location, Android Studio only uses this for compiling the files. When it runs these files it, for some reason, looks at the PATH variable to find where java is installed.
If you have an older version of java installed on your system, then your PATH variable will be pointing to that older version of java.
So you have to set your PATH to point to the same version of java that have set in your Android studio project settings.
In your ~/.bashrc or corresponding profile file add this:
export PATH="/Applications/studio.app/Contents/jre/jdk/Contents/Home/bin:$PATH"
In my case my project was configured to use java 1.8, but my system wide installation of java was java 1.7. This was causing the issue.
For my case, my original Android SDK Build-tools version is 24 and Andoid SDK Tools version is 25.1.7. I install Android SDK Build-tools version 23.0.3 by Andoird SDK manager.
Modify these 2 lines to:
buildToolsVersion "23.0.3"
compileSdkVersion 24
Then it works!
Download latest JDK and install. Go toVS2015 Tools > Options > Xamarin and change the java to the latest JDK location
Also, if issue appears while executing ./gradlew command, setting java home in gradle.properties file, solves this issue:
org.gradle.java.home=/usr/java/jdk1.8.0_45/
For me the problem was that the version of gradle in build.gradle was not same as the actual gradle version I had installed.
dependencies {
classpath('com.android.tools.build:grade:2.2.0') {
force = true}
Check your installed gradle versions at /Contents/gradle/m2repository/com/android/tools/build/gradle/
and change the above build.gradle file with
classpath('com.android.tools.build:grade:1.5.1') or <>
I had got the same error and I had JDK 8 set as JAVA_HOME. It turned out that I had Android SDK Build-tools rev 25.0.2 installed. I removed this and installed 23.0.2 instead and it worked for me.
change to
buildToolsVersion "23.0.2" in app gradle file.

Categories

Resources