2013-11-26 3 views
9

Я разрабатываю приложение для Android на Android Studio с 3 коллегами, и недавно наш проект больше не может быть построен. У всех нас есть разные версии Android Studio (мой 0.2.8), и он не компилируется на всех из них. Мы не можем найти то, что вызывает проблему, потому что это произошло в разные моменты для всех нас (как ни странно, с той же версией проекта, приложение строилось на моей студии Android, а не на одном из моих коллег).Gradle не может разрешать зависимости в Android Studio

Иногда Android Studio может скомпилировать мой проект, когда он его открывает, но затем не удается, когда я пытаюсь запустить приложение. Но большую часть времени Android Studio не удается скомпилировать мой проект, когда он его открывает.

У меня нет ошибок, чтобы помочь мне понять проблему, только заголовок сообщения фоновой задачи может дать мне намек на то, что происходит: Gradle: Resolve dependencies ':_DebugApk'. Эта фоновая задача никогда не заканчивается, она просто загружается до конца времени.

Я не знаю, связано ли это с файлом build.gradle, но здесь это на случай, если вы можете найти что-то неправильно.

home = System.getenv("ANDROID_HOME") 

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.+' 
    } 
} 
apply plugin: 'android' 

repositories { 
    mavenCentral() 
    maven { 
     url "http://maven.hq.couchbase.com/nexus/content/repositories/releases/" 
    } 

    maven { 
     url "http://files.couchbase.com/maven2/" 
    } 
} 

dependencies { 
    compile 'com.android.support:support-v4:18.0.+' 
    compile 'com.android.support:appcompat-v7:18.0.+' 
    compile 'com.google.android.gms:play-services:3.1.36' 
    compile fileTree(dir: 'libs', include: '*.jar') 
    compile 'com.couchbase.cblite:CBLite:1.0.0-beta' 
    compile 'com.couchbase.cblite:CBLiteEktorp:1.0.0-beta' 
    compile 'com.couchbase.cblite:CBLiteJavascript:1.0.0-beta' 

    instrumentTestCompile 'com.jayway.android.robotium:robotium-solo:4.3' 
} 

android { 
    compileSdkVersion 18 
    buildToolsVersion "18.1" 

    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
     } 

     // Move the tests to tests/java, tests/res, etc... 
     instrumentTest.setRoot('tests') 




     // Move the build types to build-types/<type> 
     // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... 
     // This moves them out of them default location under src/<type>/... which would 
     // conflict with src/ being used by the main source set. 
     // Adding new build types or product flavors should be accompanied 
     // by a similar customization. 
     debug.setRoot('build-types/debug') 
     release.setRoot('build-types/release') 
    } 
} 

tasks.withType(Compile) { 
    options.encoding = 'UTF-8' 
} 

Что делает Android Studio при разрешении зависимостей? Что может привести к тому, что он будет висеть так?

EDIT:

При выполнении gradle build --info, он дает мне следующую ошибку:

FAILURE: Строить неудачу с исключением.

  • Что пошло не так: выполнение выполнено для задачи ': compileDebug'.

    Не удается найти системный компилятор Java. Убедитесь, что вы установили JDK (а не только JRE) и настроили системную переменную JAVA_HOME на , указывая на соответствующий каталог.

EDIT 2:

Android-студия перестала быть в состоянии скомпилировать мой проект снова. Теперь он останавливается на Gradle: Resolve dependencies ':_ReleaseApk'. И когда я пытаюсь компилировать с Gradle через командную строку, она работает без каких-либо ошибок ...

EDIT 3:

Опять же, Android Студия неудачу при компиляции моего проекта. Теперь он останавливается на Gradle: Resolve dependencies ':_DebugCompile'. И когда я пытаюсь скомпилировать градир через командную строку, он работает без ошибок ... Бог я ненавижу Грейдл!

+2

Вы можете построить его из командной строки через gradle, я не думаю, что это проблема для Android. Попробуйте запустить gradle build --info – sgarman

+0

Я добавил результат в свой пост –

+0

Испытывая ту же ошибку, что и последняя. Он просто застрял там. Начинаю думать, что Android Studio слишком молода, чтобы стоить усилий ... – Danail

ответ

1

Я думаю, что проблема, которую вы ударяете в Edit 3 связано с этими линиями:

maven { 
    url "http://maven.hq.couchbase.com/nexus/content/repositories/releases/" 
} 

maven { 
    url "http://files.couchbase.com/maven2/" 
} 

Некоторые из этих репозиториев больше неактивны, и Android Studio не имеет таймаута при проверке (freakin crazy, right ?!).

Это был мой вопрос, по крайней мере: Android Studio stuck on "Gradle: resolve dependancies '_debugCompile'" or 'detachedConfiguration1'

2

После добавления переменной JAVA_HOME я смог скомпилировать свое приложение, как обычно.

EDIT:

После того как я получил другую ошибку (см EDIT 2 на вопрос), я просто удалил папку сборки моего проекта, и он снова работал.

EDIT 2:

Он перестал работать снова (см EDIT 3 по вопросу)

0

В моем случае один из разработчиков не включают gradle.properties в .gitignore файле, и это было причиной застрял

Смежные вопросы