2015-01-23 4 views
8

Android Studio에서이 빌드를 허용하지 않습니다. com.mixpanel.blahblahblah를 찾을 수 없습니다. com.mixpanel.blahblahblah는 mavenCentral()에서 온 것입니다. 다른 repo 만 인식하기 때문에 mavenCentral()을 인식하지 못하기 때문에 문제가 있다는 것을 알고 있습니다. 어떻게 둘 다 포함하고이 프로젝트를 작동시킬 수 있습니까?build.gradle에 여러 개의 리포지토리를 포함시키는 방법은 무엇입니까?

apply plugin: 'com.android.application' 
apply plugin: 'crashlytics' 

buildscript { 
    repositories { 
     maven { url 'http://download.crashlytics.com/maven' } 
    } 

    dependencies { 
     classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+' 
    } 
} 


repositories { 
    maven { url 'http://download.crashlytics.com/maven' } 
    mavenCentral() 
} 


android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     applicationId "co.dilmile.dilmile" 
     minSdkVersion 9 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.android.support:appcompat-v7:21.0.3' 
    compile 'com.parse.bolts:bolts-android:1.1.2' 
    compile 'com.loopj.android:android-async-http:1.4.6' 
    compile 'com.google.code.gson:gson:2.3.1' 
    compile 'com.facebook.android:facebook-android-sdk:3.20.0' 
    compile 'com.android.support:support-v4:21.0.3' 
    compile 'org.roboguice:roboguice:3.+' 
    compile 'com.google.code.findbugs:jsr305:1.3.9' 
    provided 'org.roboguice:roboblender:3.+' 
    compile 'com.crashlytics.android:crashlytics:1.+' 
    compile 'com.mixpanel.android:mixpanel-android:4.5.3' 
} 
+0

당신은'컴파일 'com.mixpanel.android 주석 경우 mixpanel - 안드로이드 : 4.5.3'' 라인을, 응용 프로그램의 나머지 부분은 구축합니까? 만약 그렇다면, 당신의 문제는'mavenCentral()'문이 아니라'의존성'의 다른 모든 것들이 거기에서 나온다. – CommonsWare

+0

예. 해당 줄이없는 빌드입니다. 하지만 com.mixpanel을 추가하기 전에 mavenCentral()을 추가했습니다. mavenCentral() 및 com.mixpanel을 제거하면 잘 작동하고 다른 종속성이 생깁니다. – bharv14

답변

7

buildscript 리포지토리에 maven 중심을 추가해야한다고 생각합니다. 나는이처럼 가지고 아무 문제가 작동합니다

buildscript { 
    repositories { 
     mavenCentral() 
     maven { url 'http://download.crashlytics.com/maven' } 
    } 
... 
} 

allprojects { 
    repositories { 
     mavenCentral() 
     maven { url 'http://download.crashlytics.com/maven' } 
    } 
} 

편집 : 지금 안드로이드 스튜디오 대신 받는다는의 jcenter 사용하기 때문에, 당신은 변화에 저장소를 마이그레이션해야합니다

apply plugin: 'com.android.application' 
apply plugin: 'crashlytics' 

buildscript { 
    repositories { 
     maven { url 'http://download.crashlytics.com/maven' } 
     mavenCentral() 
    } 

    dependencies { 
     classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+' 
    } 
} 


repositories { 
    maven { url 'http://download.crashlytics.com/maven' } 
    mavenCentral() 
} 


android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     applicationId "co.dilmile.dilmile" 
     minSdkVersion 9 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.android.support:appcompat-v7:21.0.3' 
    compile 'com.parse.bolts:bolts-android:1.1.2' 
    compile 'com.loopj.android:android-async-http:1.4.6' 
    compile 'com.google.code.gson:gson:2.3.1' 
    compile 'com.facebook.android:facebook-android-sdk:3.20.0' 
    compile 'com.android.support:support-v4:21.0.3' 
    compile 'org.roboguice:roboguice:3.+' 
    compile 'com.google.code.findbugs:jsr305:1.3.9' 
    provided 'org.roboguice:roboblender:3.+' 
    compile 'com.crashlytics.android:crashlytics:1.+' 
    compile 'com.mixpanel.android:mixpanel-android:4.5.3' 
} 
1

당신의 Gradle을 파일이 있어야한다고 생각하지 않습니다 mavenCentral는

buildscript { 
    repositories { 
     //old 
     //mavenCentral() 
     //new 
     jcenter() 
     maven { url 'http://download.crashlytics.com/maven' } 
    } 
... 
} 

allprojects { 
    repositories { 
     //old 
     //mavenCentral() 
     //new 
     jcenter() 
     maven { url 'http://download.crashlytics.com/maven' } 
    } 
} 

jcenter 더 완전하고 mavenCentral보다

0
빠른 jcenter하기

jcenter가 mavenCentral 저장소를 미러링하므로 mavenCentral에 문제가 발생할 경우 jcenter를 사용할 수 있습니다.

종속성의 버전 번호를 선언 할 때 +를 사용하지 마십시오. 문제 일 수도 있습니다.

최근 종속성 관리 도구를 작성하여 어떤 종속성이 오래 되었습니까? 시도해 볼 수 있습니다.

https://github.com/Jintin/andle

관련 문제