۵ مهدی رستمی پور
خطا کتابخانه appcompat در پروژه کاتلین
جامعه جاوا (اندروید) ایجاد شده در ۱۵ بهمن ۱۴۰۱

با سلام دوستان

من فقط کتایخونه appcompat پروژه ام در کلاس‌های با زبان کانلین ارور داره اما کلاس‌های با زبان جاوا ارور نداره!

4054-app.pngکتابخونه :

dependencies {
    implementation 'androidx.core:core-ktx:1.9.0'
    implementation 'androidx.appcompat:appcompat:1.6.0'
}

ماژول پروژه:

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.0.4"
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20'
    }
}

خطا :

Cannot access 'androidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback'which is a supertype of 'com.android.project.MainActivity'. Check your module classpath for missing or conflicting dependencies

درود دوست عزیز

بنظر مشکلی تو دپندنسی‌ها در build.gradle وجود نداره.

در اکثر مواقع این جور خطاها صرفا از سینک کردن میشه.

پروژه‌ای که ساختین صرفا یه ماژول app داره؟ چون خطای conflicting dependencies داده.

مهرداد فدایی ۱۵ بهمن ۱۴۰۱، ۰۹:۰۲

خیر ماژول پروژه هم داره


پروژه کاتلین جدید ایجاد میکنم مشکلی نداره ،اما این پروژه که داشتم برای این دره روش کار میکردم یهویی اینطوری شد!!!!

مهدی رستمی پور ۱۵ بهمن ۱۴۰۱، ۰۹:۴۶

چون خطای تداخل تو دنپندنسی‌ها دارین میتونه از ماژول‌های مختلف باشه. میشه بفرمائین تو ماژول library که ایجاد کردین چه دنپندنسی هایی اضافه کردین.

یا اینکه کدهاشو بفرستین. (build.gradle ماژول library)

البته تو دوره برنامه نویسی ماژولار تدریس نشده.

مهرداد فدایی ۱۵ بهمن ۱۴۰۱، ۱۰:۰۳
plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-android-extensions'
}
android {
    namespace 'com.com.android.project'
    compileSdk 33
    defaultConfig {
        applicationId "com.com.android.project"
        minSdk 23
        targetSdk 33
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    buildFeatures {
        viewBinding true
    }
}
dependencies {
    implementation "androidx.activity:activity-ktx:1.7.0-alpha04"
    implementation 'androidx.core:core-ktx:1.9.0'
    implementation 'androidx.appcompat:appcompat:1.6.0'
    implementation 'com.google.android.material:material:1.8.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    implementation 'androidx.navigation:navigation-fragment-ktx:2.5.3'
    implementation 'androidx.navigation:navigation-ui-ktx:2.5.3'
    implementation 'com.karumi:dexter:6.2.3'
    implementation 'androidx.multidex:multidex:2.0.1'
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.5.1"
    implementation 'com.jakewharton.timber:timber:5.0.1'
    implementation("androidx.viewpager2:viewpager2:1.0.0")
    implementation 'org.greenrobot:eventbus:3.2.0'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.google.code.gson:gson:2.9.0'
    //retrofit
    implementation "com.squareup.retrofit2:retrofit:2.9.0"
    implementation "com.squareup.retrofit2:converter-gson:2.9.0"
    implementation 'com.google.code.gson:gson:2.9.0'
  //rx
    implementation 'com.squareup.retrofit2:adapter-rxjava2:2.9.0'
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
    implementation 'io.reactivex.rxjava2:rxjava:2.2.9'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.fragment:fragment:1.5.5'
    //koin
    def koin_version= "2.2.0"
    implementation "org.koin:koin-android:$koin_version"
    implementation "org.koin:koin-android-scope:$koin_version"
    implementation "org.koin:koin-android-viewmodel:$koin_version"
    //navigation
    def nav_version = "2.3.2"
    implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
    implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
    implementation "androidx.navigation:navigation-runtime-ktx:$nav_version"
}
مهدی رستمی پور ۱۵ بهمن ۱۴۰۱، ۱۰:۰۷

در واقع منظور من از ماژول یک ماژول کاملا جدا مشابه ماژول app در پروژه بود (چون خطای conflicting dependencies رو داشتین) نه صرفا فایل build.gradle سطح پروژه.

به هر حال مشکلی تو دپندنسی‌ها نیست. داخل دایرکتوری خود پروژه دوتا فولدر هست:

gradle. (هیدن هست)

پوشه build داخل app

توصیه میکنم این دو فولدر رو پاک کنید و یک بار هم Invalidate cache بزنید از منوی File تا همه چی از اول دانلود و پروژه سینک بشه.

این دوستور هم سعی کنید ران کنید از ترمینال اندروید استودیو و نباید خطایی دریافت کنید:

gradlew build --refresh-dependencies

مهرداد فدایی ۱۵ بهمن ۱۴۰۱، ۱۵:۵۶