android - 即使添加到 gradle 后仍 Unresolved reference

标签 android android-gradle-plugin android-navigation leakcanary timber-android

我正在解决对这三个类的引用:

  • 木材

  • 泄漏金丝雀

  • 找到导航 Controller

我在我的 gradle 中添加了这些依赖项,我在其他项目中也有这些依赖项,但我在这里面临问题。

我尝试过:

  • 清理、重建、依赖构建、构建必要
  • 删除了 .gradle、.idea、build、app/build 文件夹并重建应用程序,但问题仍然存在
  • 我也试过无效缓存并重新启动它也没有帮助

Gradle 文件:

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.oss.licenses.plugin'
apply plugin: 'androidx.navigation.safeargs'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
compileSdkVersion 28
buildToolsVersion '28.0.0 rc2'
defaultConfig {
    applicationId "com.nrs.sid.creditcardsecurity"
    minSdkVersion 19
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    javaCompileOptions {
        annotationProcessorOptions {
            arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
        }
    }
}
sourceSets {
    androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
}
sourceSets {
    main.java.srcDirs += 'src/main/kotlin'
}
buildTypes {
    debug {
        applicationIdSuffix '.debug'
        versionNameSuffix '-DEBUG'
        ext.alwaysUpdateBuildId = false
    }
    release {
        shrinkResources false
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
allprojects {
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" << "-Xlint:cast" << "-Xlint:empty" << "-Xmaxerrs"
    }
}
testOptions {
    execution 'ANDROIDX_TEST_ORCHESTRATOR'
}
androidExtensions {
    experimental = true
}
kapt {
    correctErrorTypes = true
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

implementation "androidx.core:core-ktx:1.0.0-alpha3"
implementation 'androidx.fragment:fragment-ktx:1.0.0-alpha3'
implementation 'androidx.collection:collection-ktx:1.0.0-alpha3'

implementation "androidx.appcompat:appcompat:1.0.0-alpha3"

implementation "androidx.recyclerview:recyclerview:1.0.0-alpha3"
implementation 'androidx.recyclerview:recyclerview-selection:1.0.0-alpha3'

implementation "androidx.annotation:annotation:1.0.0-alpha3"

implementation 'androidx.webkit:webkit:1.0.0-alpha3'

implementation 'com.google.android.material:material:1.0.0-alpha3'

implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

//implementation 'com.google.android.gms:play-services-oss-licenses:15.0.1'

implementation('com.google.android.gms:play-services-oss-licenses:15.0.1', {
    exclude group: 'com.google.android.gms'
})

implementation 'androidx.browser:browser:1.0.0-alpha3'

implementation 'com.google.code.findbugs:jsr305:3.0.2'

implementation "io.reactivex.rxjava2:rxandroid:2.0.2"
implementation "io.reactivex.rxjava2:rxjava:2.1.12"
implementation 'io.reactivex.rxjava2:rxkotlin:2.2.0'

implementation "com.jakewharton.rxbinding2:rxbinding-kotlin:2.1.1"
implementation "com.jakewharton.rxbinding2:rxbinding-support-v4-kotlin:2.1.1"
implementation "com.jakewharton.rxbinding2:rxbinding-appcompat-v7-kotlin:2.1.1"
implementation "com.jakewharton.rxbinding2:rxbinding-design-kotlin:2.1.1"
implementation "com.jakewharton.rxbinding2:rxbinding-recyclerview-v7-kotlin:2.1.1"

implementation "com.jakewharton.timber:timber:4.7.0"

implementation 'com.google.dagger:dagger:2.16'
kapt 'com.google.dagger:dagger-compiler:2.16'
implementation 'com.google.dagger:dagger-android:2.16'
implementation 'com.google.dagger:dagger-android-support:2.16'
kapt 'com.google.dagger:dagger-android-processor:2.16'

implementation "org.greenrobot:eventbus:3.1.1"

debugImplementation "com.squareup.leakcanary:leakcanary-android:1.5.4"
releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:1.5.4"

implementation "com.github.markzhai:blockcanary-android:1.5.0"

implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0-alpha1'
implementation 'androidx.lifecycle:lifecycle-common-java8:2.0.0-alpha1'
implementation 'androidx.lifecycle:lifecycle-reactivestreams:2.0.0-alpha1'
testImplementation 'androidx.arch.core:core-testing:2.0.0-alpha1'

implementation 'androidx.room:room-runtime:2.0.0-alpha1'
kapt 'androidx.room:room-compiler:2.0.0-alpha1'
implementation 'androidx.room:room-rxjava2:2.0.0-alpha1'
implementation 'androidx.room:room-guava:2.0.0-alpha1'
testImplementation 'androidx.room:room-testing:2.0.0-alpha1'

implementation 'android.arch.navigation:navigation-fragment-ktx:1.0.0-alpha02'
implementation 'android.arch.navigation:navigation-ui-ktx:1.0.0-alpha02'
androidTestImplementation 'android.arch.navigation:navigation-testing-ktx:1.0.0-alpha02'

implementation "com.squareup.retrofit2:retrofit:2.4.0"
implementation "com.squareup.okhttp3:logging-interceptor:3.10.0"
implementation "com.google.code.gson:gson:2.8.2"
implementation "com.squareup.retrofit2:converter-gson:2.4.0"
implementation "com.squareup.retrofit2:adapter-rxjava2:2.4.0"

implementation "com.twitter.serial:serial:0.1.6"
testImplementation "org.mockito:mockito-core:2.16.0"
implementation "org.jetbrains:annotations:16.0.1"

testImplementation "junit:junit:4.12"

androidTestImplementation 'androidx.test:runner:1.1.0-alpha3'
androidTestImplementation 'androidx.test:rules:1.1.0-alpha3'
androidTestUtil 'androidx.test:orchestrator:1.1.0-alpha3'

androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha3'
androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.1.0-alpha3'
androidTestImplementation 'androidx.test.espresso:espresso-intents:3.1.0-alpha3'
androidTestImplementation 'androidx.test.espresso:espresso-accessibility:3.1.0-alpha3'
androidTestImplementation 'androidx.test.espresso:espresso-web:3.1.0-alpha3'
implementation 'androidx.test.espresso.idling:idling-concurrent:3.1.0-alpha3'

testImplementation "org.robolectric:robolectric:3.8"
}

错误日志:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugKotlin'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipCachedTaskExecuter.execute(SkipCachedTaskExecuter.java:105)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ResolveBuildCacheKeyExecuter.execute(ResolveBuildCacheKeyExecuter.java:66)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$ExecuteTaskAction.execute(DefaultTaskExecutionGraph.java:262)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$ExecuteTaskAction.execute(DefaultTaskExecutionGraph.java:246)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:136)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.execute(DefaultTaskPlanExecutor.java:201)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.executeWithTask(DefaultTaskPlanExecutor.java:192)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:130)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.gradle.api.GradleException: Compilation error. See log for more details
at org.jetbrains.kotlin.gradle.tasks.TasksUtilsKt.throwGradleExceptionIfError(tasksUtils.kt:16)
at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.processCompilerExitCode(Tasks.kt:429)
at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompiler$kotlin_gradle_plugin(Tasks.kt:390)
at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompiler$kotlin_gradle_plugin(Tasks.kt:274)
at org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.execute(Tasks.kt:233)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)
... 35 more




> Task :app:kaptDebugKotlin
e: C:\Users\sid-s\AndroidStudioProjects\AppName\app\src\main\java\com\nrs\sid\creditcardsecurity\MyApplication.kt: (57, 13): Unresolved reference: Timber
e: C:\Users\sid-s\AndroidStudioProjects\AppName\app\src\main\java\com\nrs\sid\creditcardsecurity\MyApplication.kt: (57, 35): Unresolved reference: Timber
e: C:\Users\sid-s\AndroidStudioProjects\AppName\app\src\main\java\com\nrs\sid\creditcardsecurity\MyApplication.kt: (59, 17): 'createStackElementTag' overrides nothing
e: C:\Users\sid-s\AndroidStudioProjects\AppName\app\src\main\java\com\nrs\sid\creditcardsecurity\MyApplication.kt: (60, 34): Unresolved reference: createStackElementTag
e: C:\Users\sid-s\AndroidStudioProjects\AppName\app\src\main\java\com\nrs\sid\creditcardsecurity\MyApplication.kt: (63, 26): Unresolved reference: LeakCanary
e: C:\Users\sid-s\AndroidStudioProjects\AppName\app\src\main\java\com\nrs\sid\creditcardsecurity\view\MainActivity.kt: (60, 42): Unresolved reference: findNavController
> Task :app:compileDebugKotlin FAILED

最佳答案

您有机会使用 kotlin 吗?如果是这样,您可能需要将 -ktx 后缀添加到您的依赖项中,如所述 here .

我也错过了 findNavController,直到我添加了 -ktx,如我的 build.gradle

所示
dependencies {
    def nav_version = "1.0.0-alpha02"

//    Ensure to use the -ktx version below (we are using kotlin)
    implementation "android.arch.navigation:navigation-fragment-ktx:$nav_version" // use -ktx for Kotlin
    implementation "android.arch.navigation:navigation-ui-ktx:$nav_version" // use -ktx for Kotlin
    androidTestImplementation "android.arch.navigation:navigation-testing-ktx:$nav_version"
....
}

这是我的 Activity ,其中包含“findNavController”所需的导入。请注意,需要删除使用 supportFragmentManager 的 Activity Android Studio 模板生成的代码才能使其正常工作。

import androidx.navigation.findNavController

class NavigationActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContentView(R.layout.navigation_activity)

        //TODO: This was part of the generated activity - not needed ?
//        if (savedInstanceState == null) {
//            supportFragmentManager.beginTransaction()
//                    .replace(R.id.container, NavigationFragment.newInstance())
//                    .commitNow()
//        }
    }

    override fun onSupportNavigateUp() = findNavController(R.id.my_nav_host_fragment).navigateUp()
}

关于android - 即使添加到 gradle 后仍 Unresolved reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50903951/

相关文章:

android - 失败:生成失败,发生异常。在volley\bintray.gradle中

android - 错误 :Could not run build action using Gradle installation (gradle 2. 4,安卓工作室)

android - Jetpack 使用多个可选参数组合导航

android - 错误 :Module 'app' : platform 'Google Inc.:Google APIs:23' not found

Android 类 Parcelable 与 ArrayList

Android Wear 表盘安装但未显示在面孔列表中

android - 无法从 Google Drive 的 App 文件夹中读取文件

android - 如何将 Master/Detail Template 转换成 Navigation Drawer 类型的布局?

android - 如何使用 Android 中的导航 Controller 以编程方式返回到以前的目的地?

android - 我的应用程序在关闭后应保留多少内存