我正在将离子产品用于移动应用程序。当我使用
ionic cordova build android
出现以下错误:
* What went wrong:
Execution failed for task ':app:transformClassesWithDesugarForDebug'.
> com.android.build.api.transform.TransformException: java.lang.Runtime
如何解决此生成问题?我尝试过:
cordova clean android
但是仍然没有运气问题。请提出一种解决此问题的解决方案。
实际错误:
Exception 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.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)
:app:transformClassesWithDesugarForDebug FAILED
build.gradle文件依赖项:
dependencies {
implementation fileTree(dir: 'libs', include: '*.jar')
// SUB-PROJECT DEPENDENCIES START
implementation(project(path: ":CordovaLib"))
compile "com.android.support:support-v4:24.1.1+"
compile "com.google.android.gms:play-services-analytics:11.0.1"
compile "com.android.support:support-v13:26.+"
compile "me.leolin:ShortcutBadger:1.1.17@aar"
compile "com.google.firebase:firebase-messaging:11.6.2"
// SUB-PROJECT DEPENDENCIES END
}
答案 0 :(得分:0)
如果您的依赖项类定义不正确,则会发生此错误,因此请首先在build.gradle中检查您的google依赖项,所有依赖项应为相同版本。
compile 'com.google.android.gms:play-services-ads:11.0.4'
compile 'com.google.firebase:firebase-core:11.0.4'
如果仍然出现错误,请打开android studio并使用SDK进行构建,在此解决方案中,如果某些依赖项设置不正确,则sdk会自动解决您的错误,或者您可以选择更新依赖项,我建议您进行构建通过SDK可以解决您的问题。
答案 1 :(得分:0)
错误:任务':app:transformClassesWithDesugarForDebug'的执行失败。
com.android.build.api.transform.TransformException:java.lang.RuntimeException:com.android.ide.common.process.ProcessException:使用主要类com.google.devtools.build.android执行Java进程时出错.desugar.Desugar带参数
打开您的build.gradle
并添加以下内容:
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
}
然后执行Clean-Rebuild-Run。
答案 2 :(得分:0)
这是由于版本不匹配引起的;这些很可能是错误的:
compile "com.android.support:support-v4:24.1.1+"
compile "com.android.support:support-v13:26.+"
可以使用当前的构建工具28
根据当前的API级别28.0.3
进行构建:
dependencies {
implementation "com.android.support:support-v4:28.0.0"
implementation "com.android.support:support-v13:28.0.0"
implementation "com.google.android.gms:play-services-analytics:16.0.6"
implementation "com.google.firebase:firebase-messaging:17.3.4"
implementation "me.leolin:ShortcutBadger:1.1.17"
}