2

我正在尝试使用官方插件将 smooch 集成到我的 Cordova 应用程序中,但是当我去构建我的应用程序时,它会向我抛出一个主线程异常。这是我的构建输出(我认为是相关部分),如果您需要更多评论,我会提出来。

:app:transformClassesWithDesugarForDebugException in thread "main" java.lang.IllegalArgumentException
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)
at com.google.devtools.build.android.desugar.DefaultMethodClassFixer$DefaultMethodFinder.visit(DefaultMethodClassFixer.java:471)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at com.google.devtools.build.android.desugar.DefaultMethodClassFixer.defaultMethodsDefined(DefaultMethodClassFixer.java:319)
at com.google.devtools.build.android.desugar.DefaultMethodClassFixer.visitEnd(DefaultMethodClassFixer.java:88)
at org.objectweb.asm.ClassVisitor.visitEnd(Unknown Source)
at com.google.devtools.build.android.desugar.InterfaceDesugaring.visitEnd(InterfaceDesugaring.java:85)
at org.objectweb.asm.ClassVisitor.visitEnd(Unknown Source)
at com.google.devtools.build.android.desugar.LambdaDesugaring.visitEnd(LambdaDesugaring.java:150)
at org.objectweb.asm.ClassVisitor.visitEnd(Unknown Source)
at org.objectweb.asm.ClassVisitor.visitEnd(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at com.google.devtools.build.android.desugar.Desugar.desugarClassesInInput(Desugar.java:401)
at com.google.devtools.build.android.desugar.Desugar.desugarOneInput(Desugar.java:326)
at com.google.devtools.build.android.desugar.Desugar.desugar(Desugar.java:280)
at com.google.devtools.build.android.desugar.Desugar.main(Desugar.java:584)

其余的位于:https ://pastebin.com/9j0ZW7rJ

我遵循了 Android 安装说明,更改了我的 app-id 和所有这些废话......我不确定,但我有预感它可能与https://github.com/arnesson/cordova-plugin冲突-firebase,因为它们都处理 fcm 消息,而我以前也遇到过类似的问题。

这是我的应用程序中的其他插件:

cordova-plugin-firebase 0.1.25 "Google Firebase Plugin"
cordova-plugin-headercolor 1.0 "HeaderColor"
cordova-plugin-statusbar 2.4.1 "StatusBar"

如果有人对尝试什么有任何想法,以前遇到过这个问题并且知道发生了什么,我很乐意得到你的帮助!github 上有一个问题,但不确定 smooch 是否正在维护该插件。

4

2 回答 2

1

这根本不是 Cordova 特定的问题,感谢 wmora 将我指向依赖项。

首先,gradlew myapp:dependencies在您的应用程序中运行(对于 cordova 项目,这是 /platforms/android),并确保您的所有依赖项都正确匹配。

如果没有,请转到 /platforms/android/app/build.gradle 并下到依赖项并添加依赖项以及显式版本号。

(这是我需要的,可能不适合你)

compile "com.google.firebase:firebase-auth:11.8.0"
compile "com.google.android.gms:play-services-location:11.8.0"

(对于cordova项目,在依赖括号内的最后一个引号之后,以确保cordova不会覆盖它)

清洁,建造,希望您一切顺利!

于 2018-01-18T18:39:29.533 回答
0
cordova clean

那条线帮助我。如果仍然有问题,请尝试

ionic cordova plugin add cordova-android-play-services-gradle-release
于 2018-05-10T18:46:36.050 回答