Не удалось найти реализацию метода () для аргументов [DefaultProjectDependency {dependencyProject = 'project': app '', configuration = 'default'}] - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь интегрировать Tensorflow с Android Studio. Я создал модуль и все зависимости библиотеки, но продолжаю получать эту ошибку:

Файл сборки '/home/User/AndroidStudioProjects/MyApp/tensorflow-android-1.13.1/build.gradle' строка: 4 Возникла проблема при оценке проекта ': tenorflow- android -1.13.1'.

Не удалось найти реализацию метода () для аргументов [DefaultProjectDependency {dependencyProject = 'project': app '', конфигурация = 'default'}] для объекта типа org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

Между тем, если я попытаюсь использовать compile вместо реализация () , она уже устарела. Мой файл build.gradle проекта:

// Файл сборки верхнего уровня, в который можно добавить параметры конфигурации, общие для всех подпроектов / модулей.

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

    repositories {
        google()
        jcenter()
        maven { url "https://chaquo.com/maven" }

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.2'
        implementation'org.tensorflow:tensorflow-android:+'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath "com.chaquo.python:gradle:7.0.2"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
       // maven{
       //     url 'https://maven.google.com/'
       //     name 'Google'
       // }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

1 Ответ

0 голосов
/ 21 марта 2020

Как правило, это указывает на отсутствие плагина java или java-library или эквивалент kotlin. У вас есть что-то подобное в вашем файле Gradle?

Если нет, попробуйте добавить следующий блок над вашими зависимостями, выбрав строку java или kotlin, в зависимости от вашего языка разработки.

plugins {
    id 'java'
    kotlin("jvm") version "1.3.70"
}

Кроме того, учитывая последнюю предоставленную вами информацию, проблема, как мне кажется, исходит из этой строки:

implementation'org.tensorflow:tensorflow-android:+'

Насколько мне известно, buildscript зависимости полезны только для подключаемых модулей, а не для зависимостей кода. Кроме того, внутри блока зависимостей в buildscript вы можете добавить только плагины в classpath, которые затем примените, используя apply.

Однако, возвращаясь к проблеме, попробуйте следующие изменения к файлу:


buildscript {

    repositories {
        google()
        jcenter()
        maven { url "https://chaquo.com/maven" }

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.2'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath "com.chaquo.python:gradle:7.0.2"
    }
}

plugins {
    id 'java'
    kotlin("jvm") version "1.3.70"
}
allprojects {
    apply plugin: 'java'
    apply plugin: 'kotlin'

    repositories {
        google()
        jcenter()
       // maven{
       //     url 'https://maven.google.com/'
       //     name 'Google'
       // }
    }
    dependencies {
        implementation'org.tensorflow:tensorflow-android:+'
    }

task clean(type: Delete) {
    delete rootProject.buildDir
}

Let me know if it helps. You might have to chose between `java` and `kotlin` based on your needs.
...