android - 无法解析支持 fragment 和运行时

标签 android gradle runtime

对android不太熟悉,但我想做的就是导入以下现有项目:
link

我的 gradle 同步失败并显示以下消息:

无法解决:支持 fragment

无法解决:运行时

我的 gradle 文件有一些关于较新版本库的警告。我试图添加几行关于 repo 的内容,但这并没有改变任何东西。

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
def versionMajor = 0
def versionMinor = 1
def versionPatch = 0
def versionBuild = 2 // bump for dog food builds, public betas, etc.
android {
    kapt {
        generateStubs = true
    }
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.thanksmister.iot.esp8266"
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    flavorDimensions "default"
    productFlavors {
        def BASE_ENVIRONMENT = "BASE_ENVIRONMENT"
        dev {
            dimension "default"
            buildConfigField "String", BASE_ENVIRONMENT, '"DEV_ENVIRONMENT"'
            applicationId "com.thanksmister.iot.esp8266"
            versionName "${versionMajor}.${versionMinor}.${versionPatch} Build ${versionBuild}-DEV"
        }
        qa {
            dimension "default"
            buildConfigField "String", BASE_ENVIRONMENT, '"QA_ENVIRONMENT"'
            applicationId "com.thanksmister.iot.esp8266"
            versionName "${versionMajor}.${versionMinor}.${versionPatch} Build ${versionBuild}-QA"
        }
        prod {
            dimension "default"
            buildConfigField "String", BASE_ENVIRONMENT, '"PROD_ENVIRONMENT"'
            applicationId "com.thanksmister.iot.esp8266"
            versionName "${versionMajor}.${versionMinor}.${versionPatch}"
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    buildToolsVersion '27.0.3'
}
allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
}
ext {
    archVersion = '1.1.0'
    room = '1.0.0'
    supporVersion = "27.+"
    dagger = "2.12"
    retrofit = "2.2.0"
    stetho = "1.3.1"
}
dependencies {
    implementation 'com.android.support:support-v4:27.1.1'
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile "com.android.support:appcompat-v7:${supporVersion}"
    compile "com.android.support:support-v4:${supporVersion}"
    compile 'com.android.support.constraint:constraint-layout:1.1.3'
    compile "com.android.support:cardview-v7:${supporVersion}"
    compile "com.android.support:recyclerview-v7:${supporVersion}"
    compile "com.android.support:design:${supporVersion}"
    compile "com.android.support:preference-v14:${supporVersion}"

    // RxJava
    compile 'io.reactivex.rxjava2:rxjava:2.1.7'
    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'

    // Android architecture
    implementation "android.arch.lifecycle:runtime:${archVersion}"
    implementation "android.arch.lifecycle:extensions:${archVersion}"
    implementation "android.arch.lifecycle:common-java8:${archVersion}"
    implementation "android.arch.lifecycle:reactivestreams:${archVersion}"

    // Room
    implementation "android.arch.persistence.room:runtime:${room}"
    kapt "android.arch.persistence.room:compiler:${room}"
    implementation "android.arch.persistence.room:rxjava2:${room}"

    // Preferences
    compile 'net.grandcentrix.tray:tray:0.12.0'

    // Retrofit
    compile "com.squareup.retrofit2:retrofit:${retrofit}"
    compile "com.squareup.retrofit2:converter-gson:${retrofit}"
    compile "com.squareup.retrofit2:adapter-rxjava2:${retrofit}"

    // OKHttp
    compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
    compile 'com.squareup.okhttp3:okhttp:3.7.0'

    // Dagger
    compile "com.google.dagger:dagger:${dagger}"
    annotationProcessor "com.google.dagger:dagger-compiler:${dagger}"
    compile "com.google.dagger:dagger-android-support:${dagger}"
    kapt "com.google.dagger:dagger-compiler:${dagger}"
    compile "com.google.dagger:dagger-android:${dagger}"
    annotationProcessor "com.google.dagger:dagger-android-processor:${dagger}"
    kapt "com.google.dagger:dagger-android-processor:${dagger}"

    // Logging
    compile 'com.jakewharton.timber:timber:4.5.1'

    // Dates
    compile 'joda-time:joda-time:2.9.9'

    // Stetho
    compile "com.facebook.stetho:stetho:${stetho}"
    compile "com.facebook.stetho:stetho-okhttp3:${stetho}"
    compile "com.facebook.stetho:stetho-urlconnection:${stetho}"
    testCompile 'junit:junit:4.12'
    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

错误信息:

配置“androidTestCompile”已过时,已替换为“androidTestImplementation”和“androidTestApi”。
它将在 2018 年底被删除。有关更多信息,请参阅:http://d.android.com/r/tools/update-dependency-configurations.html

配置“编译”已过时,已替换为“实现”和“API”。
它将在 2018 年底被删除。有关更多信息,请参阅:http://d.android.com/r/tools/update-dependency-configurations.html

配置“androidTestApi”已过时,已替换为“androidTestImplementation”。
它将在 2018 年底被删除。有关更多信息,请参阅:http://d.android.com/r/tools/update-dependency-configurations.html

配置“testCompile”已过时,已替换为“testImplementation”和“testApi”。
它将在 2018 年底被删除。有关更多信息,请参阅:http://d.android.com/r/tools/update-dependency-configurations.html

配置“testApi”已过时,已替换为“testImplementation”。
它将在 2018 年底被删除。有关更多信息,请参阅:http://d.android.com/r/tools/update-dependency-configurations.html

无法解决:支持 fragment
打开文件

无法解决:运行时
打开文件

文件夹 C:\Users\s125668\Documents\ID_master\M21\FMP_sem2\Anddroid\android-esp8266-connect-master\app\build\generated\source\kaptKotlin\devDebug

文件夹 C:\Users\s125668\Documents\ID_master\M21\FMP_sem2\Anddroid\android-esp8266-connect-master\app\build\generated\source\kaptKotlin\devRelease

文件夹 C:\Users\s125668\Documents\ID_master\M21\FMP_sem2\Anddroid\android-esp8266-connect-master\app\build\generated\source\kaptKotlin\prodDebug

文件夹 C:\Users\s125668\Documents\ID_master\M21\FMP_sem2\Anddroid\android-esp8266-connect-master\app\build\generated\source\kaptKotlin\prodRelease

文件夹 C:\Users\s125668\Documents\ID_master\M21\FMP_sem2\Anddroid\android-esp8266-connect-master\app\build\generated\source\kaptKotlin\qaDebug

文件夹 C:\Users\s125668\Documents\ID_master\M21\FMP_sem2\Anddroid\android-esp8266-connect-master\app\build\generated\source\kaptKotlin\qaRelease

3rd-party Gradle 插件可能是原因

关于如何解决这个问题的任何想法?您需要更多信息来调试它吗?

最佳答案

1-用“实现”替换所有“编译”

2- 将所有 'androidTestCompile' 替换为 'androidTestImplementation'

3-将所有“testCompile”替换为“testImplementation”

4-用“testImplementation”替换所有“testApi”

关于android - 无法解析支持 fragment 和运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52315625/

相关文章:

java - 使用Intellij在gradle项目中设置断点

java - 依赖于抛硬币的 while 循环的预期运行时间是多少?

python - 我如何找到为什么 python 脚本在不同机器上的运行时间明显不同?

android - Proguard 在导出应用程序时出现以下错误

java - 根据某个对象提供的数据从某个对象检索 Firebase 数据

ANdroid - 使用 apktool 编辑后运行 APK 文件得到错误 : [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

xna - 在 XNA 中运行时从图像加载纹理有什么风险?

android - 通过网络浏览器和 WebView 下载pdf

gradle - Gradle中的DRY项目配置

android - 在CircleCI中构建android应用程序测试时找不到gradlew