【问题标题】:Gradle build is successful, but won't syncGradle 构建成功,但不会同步
【发布时间】:2017-08-24 19:58:43
【问题描述】:

我正在尝试运行我的一个旧项目,所以我将它导入 Android Studio(它在我最初创建它时使用它)并更新了库(之前它也不会运行)

问题是,即使构建成功(只有警告),我得到Gradle project sync failed. 并且无法运行它。

我目前正在运行 gradle 的最新 alpha (2.4.0-alpha3),尝试了旧版本以查看是否存在问题,并且还尝试更改依赖项、版本和构建工具。我还有来自同一个SdkVersion 的其他工作项目,所以可能不是这样。

apply plugin: 'com.android.application'


android {
    compileSdkVersion 25
    buildToolsVersion '26-rc1'

    defaultConfig {
        applicationId "com.jediburrell.sof"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 7
        versionName "1.6"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile('com.github.afollestad.material-dialogs:core:0.8.5.4@aar') {
        transitive = true
    }
    compile files('libs/activation.jar')
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.android.support:design:+'
    compile 'com.android.support:cardview-v7:+'
    compile 'com.balysv:material-ripple:1.0.2'
    compile 'com.melnykov:floatingactionbutton:1.3.0'
    compile 'com.squareup.okhttp:okhttp:2.3.0'
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.3.0'
    compile 'org.apache.httpcomponents:httpclient:+'

}

关于警告:

Information:Gradle tasks [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies]
Warning:WARNING: Dependency org.apache.httpcomponents:httpclient:4.5.3 is ignored for debug as it may be conflicting with the internal version provided by Android.
Information:BUILD SUCCESSFUL
Information:Total time: 1.27 secs
Information:0 errors
Information:1 warning
Information:See complete output in console

我尝试在没有HttpClient 的情况下构建它。它构建相同的

【问题讨论】:

    标签: android gradle


    【解决方案1】:

    两个建议:

    1. 您是否尝试过旧的“使缓存无效/重新启动 IDE”方法?还是清理项目并重建?这些是我对异常构建冲突的 goto。

    2. 尝试用静态版本的库替换 compile 'org.apache.httpcomponents:httpclient:+' 中的 '+'。依赖项的动态版本控制可能会导致构建中出现一些严重的未定义行为,甚至会阻止您构建/同步项目。 Here(相当老,但相关)是关于此事的博客文章。

    【讨论】:

    • 至于 1 - 我的意思是在帖子中提到这一点,我的错 - 是的,我已经做到了。而关于HttpClient,所有依赖项以前都使用静态版本。我尝试删除 HttpClient 以及支持库以查看它们是否是问题所在,但仍然无法同步。
    • 嘿@JediBurrel,我有一个与httpclient类似的问题。你找到解决办法了吗?
    • @Dan,我最终重新创建了项目并移动了所有文件。之后开始工作。
    • @Dan 没有意识到我从未回复过。是的,依赖关系保持不变。不知道为什么它以前不起作用。 ://
    【解决方案2】:

    您可以参考这个solution。您只需要排除 httpclient。

     compile ('httpcomponents-httpcore:httpcore:4.0-alpha6'){
        exclude module: "httpclient"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-05
      • 2016-08-07
      • 2016-02-04
      相关资源
      最近更新 更多