javaandroidgradle

How to fix : [options] source value 8 is obsolete and will be removed in a future release and MainActivity.java uses or overrides a deprecated API


I'm developing an application that maps some areas with up to 1.5km, when I compile the code it presents errors about source value 8 is obsolete and will be removed in a future release, To suppress warnings about obsolete options, use -Xlint:-options and Recompile with -Xlint:deprecation for details, MainActivity.java uses or overrides a deprecated API.

compileDebugJavaWithJavac

plugins {
    id ("com.android.application")
    id ("com.google.gms.google-services")
    id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    //id("com.google.secrets_gradle_plugin" version "0.5")
}

android {
    namespace = "com.example.graca"
    compileSdk = 34

    defaultConfig {
        applicationId = "com.example.graca"
        minSdk = 24
        targetSdk = 34
        versionCode = 1
        versionName = "1.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        
        release {
            isMinifyEnabled = false
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )

        }
    }

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
        encoding="UTF-8"

    }
    buildFeatures {
        viewBinding = true
    }

}


dependencies {

    implementation("androidx.appcompat:appcompat:1.6.1")
    implementation("com.google.android.material:material:1.8.0")
    implementation("androidx.constraintlayout:constraintlayout:2.1.4")
    implementation("androidx.legacy:legacy-support-v4:1.0.0")
    implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.7.0")
    implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0")
    testImplementation("junit:junit:4.13.2")
    androidTestImplementation("androidx.test.ext:junit:1.1.5")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")



    //firebase sdk
    implementation(platform("com.google.firebase:firebase-bom:32.7.0"))
    implementation("com.google.firebase:firebase-analytics")
    implementation("com.google.firebase:firebase-auth:22.1.2")
    implementation("com.google.firebase:firebase-firestore:24.8.1")
    implementation("com.google.firebase:firebase-storage:20.2.1")


    //places sdk
    //mplementation ("com.google.android.gms:play-services-maps:17.0.0")
    implementation ("com.google.maps.android:android-maps-utils:2.3.0")
    implementation("androidx.fragment:fragment:1.6.2")
    implementation("com.google.android.gms:play-services-maps:17.0.1")
    implementation ("com.google.android.libraries.places:places:3.3.0")


}

buildscript {
    repositories {
        google()
        mavenCentral()

        // Android Build Server
        maven { url = uri("../nowinandroid-prebuilts/m2repository") }
        gradle.projectsEvaluated{
            tasks.withType<Test>{

                //options.encoding=("UTF-8")
                ("-Xlint:deprecation")
                ("-Xlint:unchecked")
            }
        }
    }
    dependencies {
        classpath ("com.google.gms:google-services:4.4.0")
    }

}


public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {

    private static final float END_SCALE = 0.7f;

    DrawerLayout drawLayouty;
    NavigationView navigationView;
    ConstraintLayout contentLayout;

    ImageView menuIcon;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        contentLayout = findViewById(R.id.contentLayout);

       drawLayouty = findViewById(drawer_layout);
        navigationView = findViewById(R.id.nav_view);
        menuIcon = findViewById(R.id.menu_icon);

        navigationDrawer();

        if (savedInstanceState == null) {

            getSupportFragmentManager().beginTransaction().replace(R.id.frag_container,
                    new MapsFragment()).commit();

            navigationView.setCheckedItem(R.id.nav_explore);

        }
    }

    private void navigationDrawer() {

        navigationView.bringToFront();
        navigationView.setNavigationItemSelectedListener(this);
        navigationView.setCheckedItem(R.id.nav_explore);

        menuIcon.setOnClickListener(view -> {
            if (drawLayouty.isDrawerVisible(GravityCompat.START)) {
                drawLayouty.closeDrawer(GravityCompat.START);
            } else {
                drawLayouty.openDrawer(GravityCompat.START);
            }
        });

        animateNavigationDrawer();
    }

    private void animateNavigationDrawer() {

        drawLayouty.setScrimColor(getResources().getColor(R.color.blue_gray_700));

        drawLayouty.addDrawerListener(new DrawerLayout.SimpleDrawerListener() {
            @Override
            public void onDrawerSlide(@NonNull View drawerView, float slideOffset) {

                final float diffScaledOffset = slideOffset * (1 - END_SCALE);
                final float offsetScale = 1 - diffScaledOffset;
                contentLayout.setScaleX(offsetScale);
                contentLayout.setScaleY(offsetScale);
                
                final float xOffset = drawerView.getWidth() * slideOffset;
                final float xOffsetDiff = contentLayout.getWidth() * diffScaledOffset / 2;
                final float xTranslation = xOffset - xOffsetDiff;
                contentLayout.setTranslationX(xTranslation);

            }
        });
    }

    @Override
    public void onBackPressed() {

        if (drawLayouty.isDrawerVisible(GravityCompat.START)) {
            drawLayouty.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }


    }

    @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
        if (item.getItemId() == R.id.nav_explore) {
            getSupportFragmentManager().beginTransaction().replace(R.id.frag_container, new MapsFragment()).commit();
        }
        else if (item.getItemId() == R.id.nav_profile) {
            getSupportFragmentManager().beginTransaction().replace(R.id.frag_container, new PerfilFragment()).commit();
        }
        else if (item.getItemId() == R.id.nav_share) {
            Toast.makeText(this, "Shared", Toast.LENGTH_SHORT).show();
        }
        else if (item.getItemId() == R.id.nav_rate_us) {
            Toast.makeText(this, "Rated", Toast.LENGTH_SHORT).show();
        }

        drawLayouty.closeDrawer(GravityCompat.START);
        return true;
    }



}

Solution

  • Change the Java version you're targeting:

    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8