react-native - 包含名称为"com.google.android.gms.license"的多个库

Jig*_*gar 6 react-native

我知道它的原因是谷歌新版本更新gms到12.0.0这里是链接https://developers.google.com/android/guides/releases

添加,android/build.gradle但现在它不编译onesignal因为它也使用不同版本的谷歌服务

github上的其他解决方案建议我在依赖项中添加"+",但它不起作用

configurations.all {
            // #PlayServicesGate — March, 20 2018
            resolutionStrategy {
            force 'com.google.android.gms:play-services-auth:11.8.0'

            // Firebase dependencies
            force "com.google.android.gms:play-services-base:11.8.0"
            force 'com.google.firebase:firebase-core:11.8.0'
            force 'com.google.firebase:firebase-auth:11.8.0'
            }
        }
Run Code Online (Sandbox Code Playgroud)

如果有人知道,请告诉我

    :react-native-onesignal:prepareComGoogleAndroidGmsPlayServicesTagmanagerV4Impl1200Library
    :react-native-onesignal:prepareComGoogleAndroidGmsPlayServicesTagmanagerV4ImplLicense1200Library
    :react-native-onesignal:prepareComGoogleAndroidGmsPlayServicesTasks1200Library
    :react-native-onesignal:prepareComGoogleAndroidGmsPlayServicesTasksLicense1200Library
    :react-native-onesignal:prepareComOnesignalOneSignal382Library
    :react-native-onesignal:prepareOrgWebkitAndroidJscR174650Library
    :react-native-onesignal:prepareReleaseDependencies
    :react-native-onesignal:compileReleaseAidl
    :react-native-onesignal:compileReleaseNdk UP-TO-DATE
    :react-native-onesignal:compileLint
    :react-native-onesignal:copyReleaseLint UP-TO-DATE
    :react-native-onesignal:compileReleaseRenderscript
    :react-native-onesignal:generateReleaseBuildConfig
    :react-native-onesignal:generateReleaseResValues
    :react-native-onesignal:generateReleaseResources
    :react-native-onesignal:mergeReleaseResources
    :react-native-onesignal:processReleaseManifest
    :react-native-onesignal:processReleaseResources FAILED

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':react-native-onesignal:processReleaseResources'.
    > Error: more than one library with package name 'com.google.android.gms.license'

    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

    BUILD FAILED

    Total time: 3 mins 7.465 secs
    Error: /Users/vsts/agent/2.131.0/work/1/s/android/gradlew failed with return code: 1
        at ChildProcess.<anonymous> (/Users/vsts/agent/2.131.0/work/_tasks/Gradle_8d8eebd8-2b94-4c97-85af-839254cc6da4/1.128.0/node_modules/vsts-task-lib/toolrunner.js:569:30)
        at emitTwo (events.js:106:13)
        at ChildProcess.emit (events.js:191:7)
        at maybeClose (internal/child_process.js:886:16)
        at Socket.<anonymous> (internal/child_process.js:342:11)
        at emitOne (events.js:96:13)
        at Socket.emit (events.js:188:7)
        at Pipe._handle.close [as _onclose] (net.js:497:12)
Run Code Online (Sandbox Code Playgroud)

Ray*_* M. 0

我已经尝试了这里发布的一些解决方案,但没有成功,我真的不想深入研究node_modules,但这就是我所做的,因为我的项目对时间敏感。至少在找到永久解决方案之前是这样。

在我的应用程序级别build.gradle,我已将所有 Google 依赖项更新到版本 11.8.0,例如compile "com.google.android.gms:play-services-base:11.8.0"。然后在react-native-onesignal's build.gradle

我改变了这些行:

compile 'com.google.android.gms:play-services-gcm:+'
compile 'com.google.android.gms:play-services-analytics:+'
compile 'com.google.android.gms:play-services-location:+'
Run Code Online (Sandbox Code Playgroud)

相同的特定版本如下:

compile 'com.google.android.gms:play-services-gcm:11.8.0'
compile 'com.google.android.gms:play-services-analytics:11.8.0'
compile 'com.google.android.gms:play-services-location:11.8.0'
Run Code Online (Sandbox Code Playgroud)

这似乎修复了错误。如果有人有更好的解决方案,我很乐意在项目中实现。同时,我希望这对其他人也有帮助。