当前位置: 首页 > 知识库问答 >
问题:

Android存储库中的问题Flutter TensorFlow lite by Bintray 502

轩辕欣可
2023-03-14

当我编译我的Android Flutter应用程序我得到这个错误

Could not determine the dependencies of task ':app:processDebugResources'.
> Could not resolve all task dependencies for configuration ':app:debugRuntimeClasspath'.
   > Could not resolve org.tensorflow:tensorflow-lite:+.
     Required by:
         project :app > project :tflite
      > Failed to list versions for org.tensorflow:tensorflow-lite.
         > Unable to load Maven meta-data from https://google.bintray.com/exoplayer/org/tensorflow/tensorflow-lite/maven-metadata.xml.
            > Could not get resource 'https://google.bintray.com/exoplayer/org/tensorflow/tensorflow-lite/maven-metadata.xml'.
               > Could not GET 'https://google.bintray.com/exoplayer/org/tensorflow/tensorflow-lite/maven-metadata.xml'. Received status code 502 from server: Bad Gateway

宾特雷https://google.bintray.com/exoplayer/org/tensorflow/tensorflow-lite/maven-metadata.xml

出现此问题后,尝试在android/build中更改存储库。从Jcenter()到mavenCentral()的渐变

我的android/build。格拉德尔

buildscript {
    repositories {
        mavenCentral()
        google()
        //jcenter()
    }

    dependencies {
        //classpath 'com.android.tools.build:gradle:3.5.0'
        classpath 'com.android.tools.build:gradle:3.5.4'
        //classpath 'com.google.gms:google-services:4.3.5'
        classpath 'com.google.gms:google-services:4.3.4'
    }
}

allprojects {
    repositories {
        mavenCentral()
        //google()
        //jcenter()
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

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

在这个更改之后,错误继续出现,因为它来自Google Bintray存储库,但是我无法删除存储库中的Google,因为我使用了一些服务,应该如何解决这个问题?我知道Bintray已经关闭了大约10天,但我想知道如何为tensor flow lite包正确实现mavenCentral()。

我是全新的,我不知道maven元数据是否可以下载以及如何实现它,所以我需要知道如何解决这些依赖关系,这对我来说非常复杂。

[更新]

Android[502]中Bintray的依赖性问题得到解决。IDE Android Studio版本4.1.1。

在等待bintray的回复并通过电子邮件与我联系后,我意识到bintray服务器最终将被阻止,因为Jfrog正在将工件迁移到Artifactory,电子邮件回复如下:“正如博文中所述,Bintray将被无限期地遮挡,并且在我们将Bintray工具集迁移到Artifactory中时,它将不再是一个功能性工具。”这是bintray的博客文章已关闭

在此之后,bintray很可能将不再可用,或者尽管如电子邮件响应所述,如果Jfrog考虑提升bintray服务器,迁移工件将花费很长时间。

为了解决这个问题,它完美地工作是:

[1.]检查项目需要哪些工件

[2.]导入包含要构建的工件的存储库。格雷德尔在仓库里

[3.]评论(如果你希望谷歌bintrayhtml" target="_blank">返回)谷歌仓库()。

[4.]验证依赖项的正确实现

所有这些都将使存储库查找bintray中的依赖项,并从您选择的提升服务器中占用它。

就我个人而言,我的工件在maven()存储库中,所以我在build.gradle.中做了这个更改

将存储库中的google()和jCenter()替换为maven()。

建筑格拉德尔


buildscript {
    repositories {
        mavenCentral()
        maven {
            url 'https://maven.google.com'
        }
        //mavenCentral()
        //google()
        //jcenter()
    }

    dependencies {

        //classpath 'com.android.tools.build:gradle:3.5.0'
        classpath 'com.android.tools.build:gradle:4.1.0'

        //classpath 'com.google.gms:google-services:4.3.5'
        classpath 'com.google.gms:google-services:4.3.4'
    }
}

allprojects {
    repositories {
        mavenCentral()
        maven {
            url 'https://maven.google.com'
        }
        //mavenCentral()

        //google()
        //jcenter()
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

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

这给了他们需要的仓库...

检查是否安装了Google Play服务,它为我解决了一些问题。

颤振插件

有一个类似的答案有助于实现这一点,但它与Android IDE不一致,这一个需要更多的小步骤。

尽管在构建过程中存储库发生了变化,但仍然会有一些插件。gradle由maven()在通用项目中,将继续搜索google。bintray存储库,因为插件本身的构建中有此存储库。gradle,如果不解决以下问题,肯定会出现此错误。

 > Unable to load Maven meta-data from https://google.bintray.com/exoplayer/org/tensorflow/tensorflow-lite/maven-metadata.xml.

这是颤振插件“tflite”的一个示例。

要解决这个问题,您必须寻找由pubspec获得的flatter插件。亚马尔。

注意:重要的是,在google解决bintray中的存储问题之前,这些更改只是一个临时的把戏,或者在有针对maven()的版本之前,至少这允许编译应用程序并使其工作,在我的情况下,这是一个很好的把戏,但我再次说,这是一个把戏,不应该这样做。

在依赖项中更改工件的版本,如果出现,则删除它,保留固定版本。

注意:在仓库中添加了“包含组”,这样插件就不会再寻找bintray插件了,如果你删除了这个或者谷歌仓库(),我不知道为什么插件会一直寻找那个路径,所以最好把它排除在外以便在自指定的存储库中查找。

堵塞build.gradle(例tflite)

group 'sq.flutter.tflite'
version '1.0-SNAPSHOT'

buildscript {
    repositories {//Changes here ***************
        mavenCentral()
        maven {
            url 'https://maven.google.com'
        }
        google {
            content {
                includeGroup "https://google.bintray.com/exoplayer/org/tensorflow/tensorflow-lite/0.0.1/tensorflow-lite-0.0.1.pom"
            }
        }

    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
    }
}

rootProject.allprojects {
    repositories {
        mavenCentral()
        maven {
            url 'https://maven.google.com'
        }
        google {
            content {
                includeGroup "https://google.bintray.com/exoplayer/org/tensorflow/tensorflow-lite/0.0.1/tensorflow-lite-0.0.1.pom"
            }
        }
    }
}

apply plugin: 'com.android.library'

android {
    compileSdkVersion 27

    defaultConfig {
        minSdkVersion 16
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    lintOptions {
        disable 'InvalidPackage'
    }

    dependencies {//Changes here, delete 0.0.5+ to 0.0.5 example..
        compile 'org.tensorflow:tensorflow-lite:0.0.1-gpu-experimental'
    }
}

提醒:请记住仔细检查存储库,并在依赖项中删除包含的版本(例如0.0.5),然后将其更改为现有的固定版本(例如0.0.2)。

如果编辑器说文件不属于您的项目,请选择“我仍要编辑此文件”。

所有这些变化都会导致Flutter pluggin本身搜索一个具有补充功能的服务器,而谷歌不会修复这个问题,或者发布一个新版本,如果你更新pubspec的话。yaml您可以在pluggin中还原自己的更改,所以要小心,但这应该可以暂时编译您。

共有1个答案

邢博文
2023-03-14

我可以确认这是工作修复。我已经对你的答案投了赞成票。

这是我为tensorflow lite项目修改的tflite build gradle插件

group 'sq.flutter.tflite'
version '1.0-SNAPSHOT'

buildscript {
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
    }
}

rootProject.allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

apply plugin: 'com.android.library'

android {
    compileSdkVersion 30

    defaultConfig {
        minSdkVersion 21
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    lintOptions {
        disable 'InvalidPackage'
    }

    dependencies {
        implementation 'org.tensorflow:tensorflow-lite:2.3.0'
        implementation 'org.tensorflow:tensorflow-lite-gpu:2.3.0'
    }
}

这是我当前的版本gradle。我将所有jcenter更改为mavencentral以使其正常工作。我的项目现在可以离线和在线工作。

buildscript {
    ext.kotlin_version = '1.3.50'
    repositories {
        google()  // Google's Maven repository
        mavenCentral()  // removed jcenter add this
    }

    dependencies {
        classpath 'com.google.gms:google-services:4.3.4'
        classpath 'com.android.tools.build:gradle:4.0.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()  // Google's Maven repository
        mavenCentral() // removed jcenter add this
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

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

通过im使用TFlite插件版本1.1.1

Gradle包装器版本

distributionUrl = https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
 类似资料:
  • 我在使用spring存储库和服务的代码中遇到了这个问题,在我的spring项目中,它不适用于用户和角色,这是他们的服务和存储库的问题: 这是用户实现存储库: 这是用户的存储库和服务: 用户服务 试图消除空白,但这是同样的问题,我搜索了很多关于它,但没有找到任何解决方案。

  • mvn-x编译命令的输出 Apache Maven 3.0.4(R1232337;2012-01-17 14:14:56+0530)Maven Home:C:\java\apache-maven-3.0.4\bin.Java版本:1.6.0_37,供应商:Sun Microsystems Inc.Java Home:C:\程序文件\Java\JDK1.6.0_37\JRE默认区域设置:en_IN,

  • 当我从GitHub克隆存储库到android Studio时,我得到了这个错误。 正如stackoverflow上的其他答案所建议的那样,我尝试了无效缓存和重新启动,但在我的情况下不起作用。

  • 我有以下课程: DBEntity.java 使用者JAVA 用户服务。JAVA UserRepository.java

  • 我开始在Delphi XE5中为android开发应用程序,遇到了一些问题。 我真的不懂怎么找路。在我设置了写入和读取外部存储的权限后,我尝试获取路径,以便查看我将创建的文件保存在何处,我得到的结果如下: 对于系统。尤蒂尔斯。第四- 据我从其他主题了解,GetDocumentsPath应该是默认的sdcard路径,下载应该是sdcard/Downloads,但它使用/Android/data/ap

  • 我试图找到所有的mp3文件在存储,但我的应用程序崩溃,我使用logcat看看为什么和问题的权限访问外部存储,但我已经把权限在清单,我不知道为什么不断崩溃。第一个错误: 03-06 14:55:24.553:E/dex2OAT(2796):创建oat文件失败:/data/dalvik-cache/x86/data@app@felipe.cursoandroid.com.musicbox-2@spli