0

完整的错误跟踪:

Error:Execution failed for task ':app:processDebugGoogleServices'.
> Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 11.4.2.

当我添加最后一个依赖项时发生错误:

compile 'com.google.firebase:firebase-ml-model-interpreter:16.2.0'

这是我的 gradle 依赖项:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.jakewharton:butterknife:8.6.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'
    compile 'com.facebook.android:facebook-login:4.27.0'
    compile 'com.firebaseui:firebase-ui-database:2.0.1'
    compile 'com.firebaseui:firebase-ui-storage:2.0.1'
    compile 'com.firebase:firebase-jobdispatcher:0.6.0'
    compile 'com.google.firebase:firebase-core:11.4.2'
    compile 'com.google.firebase:firebase-auth:11.4.2'
    compile 'com.google.firebase:firebase-ads:11.4.2'
    compile 'com.google.firebase:firebase-database:11.4.2'
    compile 'com.google.firebase:firebase-storage:11.4.2'
    compile 'com.google.firebase:firebase-messaging:11.4.2'
    compile 'com.android.support:design:25.4.0'
    compile 'com.android.support:appcompat-v7:25.4.0'
    compile 'com.android.support:recyclerview-v7:25.4.0'
    compile 'com.android.support:cardview-v7:25.4.0'
    compile 'com.android.support:support-v4:25.4.0'
    implementation 'com.android.support:support-v4:25.4.0'
    implementation 'com.android.support:support-vector-drawable:25.4.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
    compile 'com.github.chrisbanes:PhotoView:2.1.3'
    //network
    compile 'com.squareup.retrofit2:retrofit:2.1.0'
    compile 'com.squareup.retrofit2:converter-gson:2.1.0'
    compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
        transitive = true
    }
    //billing
    compile 'com.anjlab.android.iab.v3:library:1.0.44'
    //tutorial
    compile 'com.github.popalay:tutors:1.0.6'
    //rate dialog
    compile 'io.github.kobakei:ratethisapp:1.2.0'
    compile 'com.github.tozny:java-aes-crypto:1.1.0'
    compile 'com.flurry.android:analytics:8.1.0'
    compile 'com.github.ceryle:RadioRealButton:v2.1.1'
    compile 'com.github.drawers:SpinnerDatePicker:1.0.6'
/*    compile 'com.siclo.ezphotopick:library:1.0.8'
    implementation project(':EZPhotoPickerLib')*/
    compile project(path: ':EZPhotoPickerLib')

    compile "commons-io:commons-io:2.6"

    compile "com.github.hotchemi:permissionsdispatcher:3.1.0"
    annotationProcessor "com.github.hotchemi:permissionsdispatcher-processor:3.1.0"

    compile 'org.tensorflow:tensorflow-lite:+'

    compile 'com.google.firebase:firebase-ml-model-interpreter:16.2.0'

}

apply plugin: 'com.google.gms.google-services'

尝试同步库,但无论我做什么,我都会不断收到此错误。

4

3 回答 3

2

转到您的项目级别构建和替换

    classpath 'com.google.gms:google-services:3.x.x'

    classpath 'com.google.gms:google-services:4.0.0'

并同步您的代码,因为在您的应用程序 gradle 中,您使用的是 mi-modal-interpreter lastes,它具有与 gsm 最新版本兼容的依赖项版本。而您使用的旧版本 google.gsm 会混淆版本冲突。

如果您将 google.gsm 更新到 4.xx,那么您可能必须将 google 的其他所有依赖项更新到最新版本。而且您还使用 firebase.ui:2.xx 在将这些 UI 更新到 firebase.ui:3.xx 时,您也需要更改代码,因为某些方法是 ui:2.xx 也被替换为新方法 引用

于 2018-08-25T19:15:22.717 回答
1

对于 Firebase 依赖项:

  1. 始终查看 SDK/插件版本的“入门”指南: https : //firebase.google.com/docs/android/setup 截至 2018 年 8 月的最新 google-services 插件版本为 4.0.1

  2. 从 2018 年 5 月开始,Google Play 服务和 Firebase Android SDK 开始采用符合语义版本控制的新版本控制系统。将所有相关 SDK 升级到 15.0.0+(查看每个 API 的文档)后,您不再需要为每个 API 使用相同的版本。有关详细信息,请参阅下面的博客文章(但请忽略文章中的特定版本,因为它们不再是最新的。有关最新版本,请参阅 Firebase 文档): http ://www.googblogs.com/announcing-new-sdk-versioning-in -google-play-services-and-firebase/

此外,Firebase SDK 版本: https ://firebase.google.com/support/release-notes/android

于 2018-08-27T17:40:32.040 回答
0

参考:https ://firebase.google.com/docs/ml-kit/android/use-custom-models

作为最后一个答案更新 gradle
再次检查官方网站文档

使用TensorFlow Lite 模型在 Android 上通过机器学习套件进行推理您可以使用机器学习套件通过 TensorFlow Lite 模型在设备上执行推理。

此 API 需要 Android SDK 级别 16 (Jelly Bean) 或更高版本。

有关使用此 API 的示例,请参阅 GitHub 上的 ML Kit 快速入门示例,或尝试 codelab。

开始之前 如果您尚未将 Firebase 添加到您的应用中,请按照入门指南中的步骤进行操作。在您的应用级 build.gradle 文件中包含 ML Kit 的依赖项:

dependencies {
  // ...

  implementation 'com.google.firebase:firebase-ml-model-interpreter:16.2.0'
}

将您要使用的 TensorFlow 模型转换为 TensorFlow Lite (tflite) 格式。请参阅TOCO:TensorFlow Lite 优化转换器。

托管或捆绑您的模型 在您可以在应用程序中使用 TensorFlow Lite 模型进行推理之前,您必须使该模型可用于 ML Kit。ML Kit 可以使用通过 Firebase 远程托管、本地存储在设备上的 TensorFlow Lite 模型,或两者兼而有之。

通过在 Firebase 上托管模型并将模型存储在本地,您可以确保在可用时使用模型的最新版本,但当 Firebase 托管的模型不可用时,您的应用的 ML 功能仍然有效。

模型安全性无论您如何使 TensorFlow Lite 模型可用于 ML Kit,ML Kit 都会将它们以标准序列化 protobuf 格式存储在本地存储中。

理论上,这意味着任何人都可以复制您的模型。然而,在实践中,大多数模型都是特定于应用程序的,并且被优化混淆了,其风险类似于竞争对手反汇编和重用代码的风险。不过,在您的应用程序中使用自定义模型之前,您应该意识到这种风险。

在 Android API 级别 21 (Lollipop) 和更高版本上,模型会下载到自动备份中排除的目录。

在 Android API 级别 20 和更早版本上,模型会下载到应用专用内部存储中名为 com.google.firebase.ml.custom.models 的目录中。如果您使用 BackupAgent 启用了文件备份,则可以选择排除此目录。

有关更多详细信息,请查看https://firebase.google.com/docs/ml-kit/android/use-custom-models

于 2018-08-27T18:02:27.510 回答