【问题标题】:android studio won't compile retrofitandroid studio 不会编译改造
【发布时间】:2016-08-04 07:53:50
【问题描述】:

我为我正在开发的应用程序生成了签名的 apk (bea 版本)。 我现在正在尝试编译对项目的改造,同步阶段运行良好,但是当我尝试运行应用程序时出现此错误:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException:
com.android.ide.common.process.ProcessException:
org.gradle.process.internal.ExecException: Process 
'command'/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/bin/java'' 
finished with non-zero exit value 2

我尝试在新项目上编译 Retrofit,它确实编译了。

这是依赖项(我试图单独评论简单的 xml,也没有帮助):

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile files('libs/UniversalImageLoader195.jar')
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.loopj.android:android-async-http:1.4.9'
    compile 'com.google.android.gms:play-services-ads:8.4.0'
    compile 'com.google.android.gms:play-services-identity:8.4.0'
    compile 'com.google.android.gms:play-services-gcm:8.4.0'
    //compile 'com.squareup.retrofit2:retrofit:2.0.1'
    //compile 'com.squareup.retrofit2:converter-simplexml:2.0.0-beta3'
}

有什么想法吗?

【问题讨论】:

  • 您的意思是针对 Java 8 进行编译吗?你尝试过 Java 7 吗?
  • 如何针对 java 7 进行编译? @WolfBane
  • 我也在新项目中做了同样的事情,它确实编译了
  • 我不在 AS 前面,所以根据记忆:项目设置 -> 项目 -> 项目语言级别 -> 设置为 7。如果它在新项目时有效,那么我怀疑它是一些混乱的项目配置。

标签: android android-studio gradle retrofit retrofit2


【解决方案1】:

尝试使用一些更新版本的改造:

    compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
    compile 'com.squareup.okhttp:okhttp:2.4.0'
    compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'

【讨论】:

    【解决方案2】:

    经过搜索、更新Android Studio并多次尝试: multidexEnabled true -> 除了某些部分没有帮助。 我真正需要的是:

    1. 删除这个:

      compile 'com.loopj.android:android-async-http:1.4.9'"
      

    (要么它使用了一些已经被另一个库编译的包,要么它使应用程序超过了 64k 限制,无论哪种方式都是可有可无的,因为 Retrofit 为您提供了 OkHttp 内置)。

    2.将简单的xml改成如下:

    compile ('com.squareup.retrofit2:converter-simplexml:2.0.1') {
            exclude group: 'xpp3', module: 'xpp3'
            exclude group: 'stax', module: 'stax-api'
            exclude group: 'stax', module: 'stax'
    }
    

    我不确定“stax”行,但“xpp3”肯定会出现在错误中。我在另一篇文章中找到了这个答案。

    我希望它也能帮助其他人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-28
      • 2013-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多