【问题标题】:Could not resolve project : realm无法解析项目:领域
【发布时间】:2022-09-28 16:33:19
【问题描述】:

我在一个旧项目中工作,无法构建这个项目。将旧版本升级到新版本 gradle。我无法运行这个项目。我第一次构建 android 旧项目。以前的项目使用 react native 以前的版本。我将旧版本的依赖项转换为新版本。

这是我的 build.gradle(app)

buildscript {
    repositories {
        maven { url \'https://maven.fabric.io/public\' }
    }

    dependencies {
        classpath \'io.fabric.tools:gradle:1.29.0\'
    }
}
apply plugin: \'com.android.application\'
apply plugin: \'io.fabric\'

repositories {
    maven { url \'https://maven.fabric.io/public\' }
    google()
}
    compileSdk 33
    defaultConfig {
        applicationId \"com.amsec.cwII\"
        minSdkVersion 16
        targetSdkVersion 33
        versionCode 11
        versionName \"3.1.1\"
        ndk {
            abiFilters \"armeabi-v7a\", \"x86\"
        }
        multiDexEnabled true
    }

.......

dependencies {
    implementation project(\':react-native-device-info\')
    implementation project(\':react-native-sentry\')
    implementation project(\':react-native-keychain\')
    implementation project(\':react-native-fingerprint-scanner\')
    implementation project(\':realm\')
    implementation project(\':react-native-svg\')
    implementation project(\':react-native-vector-icons\')
    implementation(project(\':react-native-maps\')) {
        exclude group: \'com.google.android.gms\', module: \'play-services-base\'
        exclude group: \'com.google.android.gms\', module: \'play-services-maps\'
    }
    implementation \'com.google.android.gms:play-services-base:18.1.0\'
    implementation \'com.google.android.gms:play-services-maps:18.1.0\'
    implementation \'com.google.android.gms:play-services-location:20.0.0\'
    implementation fileTree(include: [\'*.jar\'], dir: \'libs\')
    //noinspection GradleCompatible,GradleCompatible
    implementation \'com.android.support:appcompat-v7:28.0.0\'
    implementation \'com.facebook.react:react-native:\'
    //  compile project(\':react-native-appstore-version-checker\')
    // From node_modules
    implementation files(\'libs/jsoup-1.11.3.jar\')
    implementation(\'com.crashlytics.sdk.android:crashlytics:17.2.2@aar\') {
        transitive = true
    }
}

task copyDownloadableDepsToLibs(type: Copy) {
    from configurations.implementation
    into \'libs\'
}

这是 build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        mavenCentral()
        jcenter()
    }
    dependencies {
        
        classpath \'com.android.tools.build:gradle:7.2.1\'
       
    }
}

allprojects {
    repositories {
        mavenLocal()
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url \"$rootDir/../node_modules/react-native/android\"
        }
    }
}


我收到这些错误

> Could not resolve all task dependencies for configuration \':app:debugRuntimeClasspath\'.
   > Could not resolve project :realm.
     Required by:
         project :app
      > No matching configuration of project :realm was found. The consumer was configured to find a runtime of a component, preferably optimized for Android, as well as attribute \'com.android.build.api.attributes.BuildTypeAttr\' with value \'debug\', attribute \'com.android.build.api.attributes.AgpVersionAttr\' with value \'7.2.1\' but:
          - None of the consumable configurations have attributes.

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
org.gradle.api.internal.tasks.TaskDependencyResolveException: Could not determine the dependencies of task \':app:mergeDebugAssets\'.
    at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.getDependencies(CachingTaskDependencyResolveContext.java:71)
    at org.gradle.execution.plan.TaskDependencyResolver.resolveDependenciesFor(TaskDependencyResolver.java:46)
    at org.gradle.execution.plan.LocalTaskNode.getDependencies(LocalTaskNode.java:161)
    at org.gradle.execution.plan.LocalTaskNode.resolveDependencies(LocalTaskNode.java:129)
    at org.gradle.execution.plan.DefaultExecutionPlan.doAddNodes(DefaultExecutionPlan.java:186)
    at org.gradle.execution.plan.DefaultExecutionPlan.addEntryTasks(DefaultExecutionPlan.java:150)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.addEntryTasks(DefaultTaskExecutionGraph.java:146)
    at org.gradle.execution.TaskNameResolvingBuildConfigurationAction.configure(TaskNameResolvingBuildConfigurationAction.java:49)
    at org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:51)
    at org.gradle.execution.DefaultBuildConfigurationActionExecuter.access$000(DefaultBuildConfigurationActionExecuter.java:25)
    at org.gradle.execution.DefaultBuildConfigurationActionExecuter$1.proceed(DefaultBuildConfigurationActionExecuter.java:59)
    at org.gradle.execution.DefaultTasksBuildExecutionAction.configure(DefaultTasksBuildExecutionAction.java:48)
    at org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:51)
    at org.gradle.execution.DefaultBuildConfigurationActionExecuter.lambda$select$0(DefaultBuildConfigurationActionExecuter.java:38)
    at org.gradle.internal.Factories$1.create(Factories.java:31)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:160)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:147)
)
    
  • 你的领域版本是什么?
  • 当我使用此命令npm realm --version 签入终端时,我得到了版本 6.14.17。但我在 package.json 中检查了这个:\“realm\”:\“^10.21.1\”。
  • 我会写一个答案,请告诉我它是否适合你。
  • @LouaySleman 我认为这几乎就是答案。你能帮我解决这个领域问题吗?

标签: android react-native gradle npm node-modules


【解决方案1】:

io.realm:realm-gradle-plugin 依赖项添加到 buildscript.dependencies 块。

buildscript {
    dependencies {
        classpath "io.realm:realm-gradle-plugin:10.11.1"
    }
}

您可以从here 查看文档。

要修复 kotlin 错误,只需添加 android/build.gradle

buildscript {
    ext {
        ...
        kotlinVersion = "1.3.72"
    }
    dependencies {
        ...
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
    }
}

【讨论】:

  • 我去了给你的文件。添加apply plugin: 'kotlin-android'apply plugin: 'kotlin-kapt' 时,这两行会在 gradle 构建时出现错误。错误是:`> 未找到 ID 为“kotlin-android”的插件。但是不添加这两行 gradle build 是成功的。
  • 但是项目构建时间得到与问题中提到的完全相同的错误。
  • 我已经更新了我的答案,如果它解决了你的问题,你能检查一下吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多