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

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

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.

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.

Leave a Comment