2015-01-23 20 views
8

Android Studio sẽ không cho phép tôi tạo điều này. Nó nói com.mixpanel.blahblahblah không được tìm thấy. com.mixpanel.blahblahblah đến từ mavenCentral() Tôi biết vấn đề là vì nó không nhận ra mavenCentral() vì nó chỉ nhận ra repo khác. Làm cách nào để tôi có thể đưa cả dự án này vào hoạt động?Cách bao gồm nhiều Kho lưu trữ trong 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

Nếu bạn nhận xét ra 'biên dịch 'com.mixpanel.android: mixpanel-android: 4.5.3'' dòng, không phần còn lại của ứng dụng xây dựng? Nếu vậy, vấn đề của bạn không phải là câu lệnh 'mavenCentral()' trực tiếp, vì hầu hết mọi thứ khác trong 'phụ thuộc' của bạn xuất phát từ đó. – CommonsWare

+0

có nó xây dựng mà không có dòng đó. Nhưng tôi chỉ thêm mavenCentral() ngay bây giờ trước khi tôi thêm com.mixpanel. Nếu tôi loại bỏ mavenCentral() và com.mixpanel thì nó hoạt động tốt và các phụ thuộc khác được xây dựng. – bharv14

Trả lời

7

Tôi nghĩ bạn nên thêm trung tâm maven vào kho lưu trữ bản dựng của mình. Tôi có nó như thế này và làm việc không có vấn đề:

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

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

Edit: Tôi tin rằng tập tin gradle của bạn nên được

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

Kể từ bây giờ Android Studio sử dụng jcenter thay vì maven, bạn nên di chuyển kho bởi sự thay đổi mavenCentral để jcenter

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 là hoàn chỉnh hơn và nhanh hơn so với mavenCentral

0

jcenter sẽ phản chiếu kho lưu trữ mavenCentral để bạn có thể sử dụng jcenter nếu bạn gặp vấn đề với mavenCentral.

Và cố gắng tránh sử dụng + trong số phiên bản phụ thuộc khai báo. Nó cũng có thể là vấn đề.

Gần đây tôi đã viết công cụ quản lý phụ thuộc để tìm hiểu xem phụ thuộc nào đã lỗi thời, bạn có thể dùng thử.

https://github.com/Jintin/andle

Các vấn đề liên quan