繁体   English   中英

Firebase auth 依赖缺失错误在华为设备(没有谷歌播放服务)的 Unity

[英]Firebase auth dependency missing error in Huawei device (without google play service) for Unity

问题我们在华为设备上遇到 Unity 应用程序异常-initializationException: Firebase modules failed to initialize: auth (missing dependency)

我们做了什么

如 firebase 文档 链接中所述,最新的 firebase 身份验证版本将在没有 google play 服务的设备上运行。 我们已将 firebase 依赖项版本更新到最新。 但是我们在统一应用程序中遇到了问题。 由于 Unity 还没有最新的 firebase 版本的更新。 So We did edited AuthDependencies.xml,AppDependencies.xml, AnalyticsDependencies.xml for latest firebase auth, analytics versions.

UNITY 版本 - 2019.4.10f1 Unity Firebase 版本 - 6.16.1

mainTemplate.gradle

([rootProject] + (rootProject.subprojects as List)).each { project ->
    project.repositories {
        def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")
        maven {
            url "https://maven.google.com"
        }
        maven {
            url (unityProjectPath + "/Assets/GeneratedLocalRepo/Firebase/m2repository") // Assets/Firebase/Editor/AnalyticsDependencies.xml:18, Assets/Firebase/Editor/AppDependencies.xml:22, Assets/Firebase/Editor/AuthDependencies.xml:20
        }
        mavenLocal()
        jcenter()
        mavenCentral()
    }
}
// Android Resolver Repos End
apply plugin: 'com.android.library'
**APPLY_PLUGINS**

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
// Android Resolver Dependencies Start
    implementation 'com.google.android.gms:play-services-base:17.5.0' // Assets/Firebase/Editor/AppDependencies.xml:17
    implementation 'com.google.firebase:firebase-analytics:18.0.0' // Assets/Firebase/Editor/AuthDependencies.xml:15
    implementation 'com.google.firebase:firebase-analytics-unity:6.16.1' // Assets/Firebase/Editor/AnalyticsDependencies.xml:18
    implementation 'com.google.firebase:firebase-app-unity:6.16.1' // Assets/Firebase/Editor/AppDependencies.xml:22
    implementation 'com.google.firebase:firebase-auth:20.0.1' // Assets/Firebase/Editor/AuthDependencies.xml:13
    implementation 'com.google.firebase:firebase-auth-unity:6.16.1' // Assets/Firebase/Editor/AuthDependencies.xml:20
    implementation 'com.google.firebase:firebase-common:19.4.0' // Assets/Firebase/Editor/AppDependencies.xml:13
// Android Resolver Dependencies End
**DEPS**}



// Android Resolver Exclusions Start
android {
  packagingOptions {
      exclude ('/lib/armeabi/*' + '*')
      exclude ('/lib/mips/*' + '*')
      exclude ('/lib/mips64/*' + '*')
      exclude ('/lib/x86/*' + '*')
      exclude ('/lib/x86_64/*' + '*')
  }
}

// Android Resolver Exclusions End
android {
    compileSdkVersion **APIVERSION**
    buildToolsVersion '**BUILDTOOLS**'

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    defaultConfig {
        minSdkVersion **MINSDKVERSION**
        targetSdkVersion **TARGETSDKVERSION**
        ndk {
            abiFilters **ABIFILTERS**
        }
        versionCode **VERSIONCODE**
        versionName '**VERSIONNAME**'
        consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD**
    }

    lintOptions {
        abortOnError false
    }

    aaptOptions {
        ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
    }**PACKAGING_OPTIONS**
}**REPOSITORIES****SOURCE_BUILD_SETUP**
**EXTERNAL_SOURCES**

不幸的是,即使 Firebase Android SDK 在没有 Google Play 服务 (GPS) 的情况下也能正常工作,但 ZF20E3C5E5604C0AB3D67BAZ 没有为 UnityF 构建。

具体来说,在 Firebase 的早期,它没有 function 没有 GPS。 由于 Unity 并没有真正的主入口点,并且 Firebase 主要是通过单例延迟初始化,因此在链的根部(创建 Firebase 应用程序),在创建默认应用程序之前检查 Z8C578DE372785ADA488D7CFEA208 实例的存在。

此时您有几个选择:

  1. Unity 确实有一些相对强大的 JNI 支持。 如果您愿意在原生 Android 中工作,您可以直接从 Unity 绑定到 Android SDK。

  2. Firebase 团队意识到了这个缺点。 您可以订阅此问题以获得任何进展的通知,但没有 ETA。

  3. 您可以随时直接联系 Firebase 支持

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM