ViewBinding with Java11, AndroidStudio always shows error (but runs without any problem)

Viewed 2145

I notice that with Java8 there is no problem with viewBinding in AndroidStudio (Arctic Fox).

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
buildFeatures {
    viewBinding true
}

However, once I set compileOptions to JavaVersion.VERSION_11, AndroidStudio always falsely shows viewBiding(s) errors though it can compile and run with no problem.

I tested this with a fresh new project in AndroidStudio ArcticFox. It suggests to import the class. After imported, it says Package not found:

screenshot 1

screenshot 2

Is this AndroidStudio's bug, or are there any misconfiguration about Java compiler setting in my AndroidStudio?

All I did something particular was JavaVersion.VERSION_11.

3 Answers

As google's support answered: This issue has been fixed and landed in BB canary 8. It is specific to Java 11.

remove the import line from your project and import it again by pressing Alt+Enter then inform me

import com.myapplication.databinding.ActivityMainBinding;

public class MainActivity extends AppCompatActivity {   

ActivityMainBinding binding;
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        binding = ActivityMainBinding.inflate(getLayoutInflater());
        View view = binding.getRoot();
        setContentView(view);

}

}

I had this issue, and I did the following:

  • Run the gradle updater
    OR
  • open the terminal and run gradlew help --scan, it will generate a report that tells will what you should edit before migrate to Gradle 7.0
  • open your gradle.properties and distributionUrl to https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
  • Go to your Project build.gradle and set the classpath to com.android.tools.build:gradle:7.0.0.
  • Sync with Gradle FIles and rebuild your project.
Related