2015-03-18 3 views
15

Я пытался переключить свой проект с Intellij на Android Studio, что потребовало от меня создания файла build.gradle. Я знаю, что я могу добавить каждую из них в качестве зависимости от библиотеки, но я в идеале хочу иметь возможность работать с зависимостью репозитория maven.Gradle в Android Studio: не удалось разрешить сторонние библиотеки

Каждый раз, когда я синхронизировать мои библиотеки поддержки синхронизируются хорошо, но для каждой библиотеки третьей стороны, я получаю что-то вроде

"Error:(30, 13) Failed to resolve: com.facebook.android:facebook-android-sdk:3.23.1"

для каждой библиотеки.

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

dependencies { 

compile fileTree(dir: 'libs', include: '*.jar') 

// Google Play Services 
compile 'com.google.android.gms:play-services:6.5.87' 

// Support Libraries 
compile 'com.android.support:appcompat-v7:22.0.0' 
compile 'com.android.support:cardview-v7:21.0.3' 
compile 'com.android.support:gridlayout-v7:21.0.3' 
compile 'com.android.support:mediarouter-v7:21.0.3' 
compile 'com.android.support:palette-v7:21.0.3' 
compile 'com.android.support:recyclerview-v7:21.0.3' 
compile 'com.android.support:support-annotations:21.0.3' 
compile 'com.android.support:support-v13:21.0.3' 
compile 'com.android.support:support-v4:22.0.0' 

// third-party libraries 
compile 'com.amazonaws:aws-java-sdk:1.9.24' 
compile 'com.facebook.android:facebook-android-sdk:3.23.1' 
compile 'com.github.markushi:android-ui:1.2' 
compile 'de.hdodenhof:circleimageview:1.2.2' 
compile 'it.neokree:MaterialNavigationDrawer:1.3.2' 

} 

android { 
compileSdkVersion 21 
buildToolsVersion "21.1.2" 

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') 
} 
} 

ответ

19

Добавить:

repositories { 
    mavenCentral() 
} 

к build.gradle. Теперь у вас есть repositories, определенный только в скрипте сборки, который разрешает зависимости только для самого buildscript не для проекта.

+1

Это сработало, спасибо! –

+0

Добро пожаловать! – Opal

+1

Я тоже сталкивался с той же проблемой, но мне пришлось отключить опцию «работать в автономном режиме» в настройках градиента Android Studio, чтобы она работала. Просто добавьте его здесь, чтобы, если кто-то еще сталкивается с моей проблемой, вы можете извлечь из этого выгоду. – Supreethks

9

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

В моем случае использовался прокси-сервер, и это вызывает проблему. Мне нужно было configure https proxy settings, как обсуждалось в gradle behind proxy in Android Studio 1.3. :

+0

Была такая же проблема. Спасибо :) – neo

+0

да вы правы –

7

Если вы используете VPN | Proxy в системе, то использовать данные прокси-сервера в файле gradle.properties в вашем проекте, как следующие строки кода:

# HTTP Proxy 
systemProp.http.proxyHost={Host Address} 
systemProp.http.proxyPort={Port Number} 
systemProp.http.proxyUser={Proxy Username} 
systemProp.http.proxyPassword={Proxy Password} 
systemProp.http.nonProxyHosts={NonProxy Hosts Address} # like: 127.0.0.1,localhost 

# HTTPS Proxy 
systemProp.https.proxyHost={Host Address} 
systemProp.https.proxyPort={Port Number} 
systemProp.https.proxyUser={Proxy Username} 
systemProp.https.proxyPassword={Proxy Password} 
systemProp.https.nonProxyHosts={NonProxy Hosts Address} # like: 127.0.0.1,localhost 

Теперь просто заменить {.....} в приведенном выше коде с соответствующими данными


Также вас можно установить Android прокси-студии, как на скриншоте ниже по прокси информации в File>Settings:

enter image description here

Теперь проверьте снова ...!

0

Может быть, это поможет

allprojects { 
    repositories { 
     jcenter() 
    } 
} 
0
repositories { 
jcenter { 
    url "http://jcenter.bintray.com/" 
} 

// mavenCentral() }

0

хорошо, если сетевое соединение нормально (Wheter с использованием прокси-сервера | виртуальные частные сети или нет), просто попробуйте turn off'offline mode' and sync при использовании андроид-студии с gradle 2.3 это сработало для меня :)

0

это помогает

allprojects { 
    repositories { 
     jcenter() 
     maven { url "https://jitpack.io" } 
    } 
} 

в проекты-х Gradle

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