首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react本机-多个包名为“com.google.android.gms.license”的库

react本机-多个包名为“com.google.android.gms.license”的库
EN

Stack Overflow用户
提问于 2018-03-21 11:20:03
回答 4查看 929关注 0票数 6

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

添加android/build.gradle,但现在它不编译一个信号,因为它也使用不同版本的Google服务

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

代码语言:javascript
复制
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'
            }
        }

如果有人知道这件事请告诉我

代码语言:javascript
复制
    :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)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-03-21 15:12:12

我尝试过这里发布的一些解决方案,但没有成功,我真的不想深入研究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

我改变了这句话:

代码语言:javascript
复制
compile 'com.google.android.gms:play-services-gcm:+'
compile 'com.google.android.gms:play-services-analytics:+'
compile 'com.google.android.gms:play-services-location:+'

相同的具体版本如下:

代码语言:javascript
复制
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'

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

票数 0
EN

Stack Overflow用户

发布于 2018-03-21 12:19:58

转到project.properties并更改以下行:

cordova.system.library.2=com.google.android.gms:play-services-gcm:+ cordova.system.library.3=com.google.android.gms:play-services-location:+

cordova.system.library.2=com.google.android.gms:play-services-gcm:11+ cordova.system.library.3=com.google.android.gms:play-services-location:11+

(它对我有用:)

票数 1
EN

Stack Overflow用户

发布于 2018-03-21 12:21:08

只需在代码块中添加这些行即可。

代码语言:javascript
复制
          configurations.all{  

           //here include these line
            force 'com.google.android.gms:play-services-gcm:11.8.0'
            force 'com.google.android.gms:play-services-analytics:11.8.0'
            force 'com.google.android.gms:play-services-location:11.8.0'
         }                            
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49404963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档