2015-04-30 17 views
5

Son zamanlarda Android projemi Eclipse'den Android Studio'ya taşıdım. Şu anda benim proje aşağıdaki Gradle komut yapıya sahiptir:Crashlytics eklenti yönergesini Gradle derleme dosyalarına yerleştirmek için nerede

  • Üst düzey gradle yapı dosyası
  • Ana modül (benim app) gradle inşa dosyası
  • modül A (benim app) gradle inşa dosyası
  • modül B (benim app) gradle inşa dosyası
  • modül C (benim app) gradle inşa dosyası

benim ana gradle met İçeriği ild dosyası:

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
    repositories { 
     mavenCentral() 
     maven { url 'http://download.crashlytics.com/maven' } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.2.1' 
     classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+' 
     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 

} 

allprojects { 
    repositories { 
     maven { url "http://dl.bintray.com/populov/maven" } 
     mavenCentral() 
    } 
} 

Tüm proje için kilitlenme olaylarının bulunacağından emin olmak isterim. Başlangıçta ana proje gradle dosyasına

apply plugin: 'crashlytics' 

eklemeye çalıştım ama şu hatayla karşılaştı:

Error:(2, 0) Crashlytics was applied to a project without an Android plugin. Please make sure the Crashlytics plugin is applied after the appropriate Android plugin for your project.

Sonra ana modülü (benim app) gradle inşa dosyası için apply plugin: 'crashlytics' taşındı ve yapı başarılı oldu.

Gradle & Android Studio'da yeni olduğum için, bu modüllerden kaynaklanan istisnai olayların yakalanmasını sağlamak için A, B, C alt modüllerine de ihtiyacım olduğundan emin değildim. Ayrıca merak ediyorum, neden "(plugin: 'crashlytics') eklentisini ana proje not defterine ekleyemiyorum?

Herkes benim için açıklayabilir mi?

cevap

0

İstisna alt modülünrapor edilecektir (yani değil uygulama modülü konum kütüphane modülü) ana uygulama kilitlenmesiyle eğer. Doğru şekilde ele alınırsa ve herhangi bir kilitlenme meydana gelmezse, hiçbir şey bildirilmez. Eğer build.gradle uygulaması (alt modülü) değiştirmek Genelde

. Bazen, genel bağımlılıkları eklemek için üst düzeydeki notu değiştirmeniz gerekir.

Appli eklentisi: Bir proje gradle ve bir modül gradle olduğu gibi
Üst düzey gradle için eklenti uygulayamazsınız. Bu btw hakkında emin değilim.

Ek not:
Heyecan Crashlytics buyed ve Fabric bunu entegre etmiştir. Ben Kumaş eklenti kullanmak için salık vermek gerçekten güzel bir arayüzde bazı istatistikleri sahip olmanızı sağlayacaktır. Ayrıca, bot desteği (Jira, vb.) Ile aynı plaka biçiminde iOS ve Android'i destekler.

Kumaş kullanılıyorsa, uygulama gradle inşa dosya irade şuna benzer: (Ben üst düzey gradle eklentiyi uygularsanız)

buildscript { 
    repositories { 
     maven { url 'https://maven.fabric.io/public' } 
    } 

    dependencies { 
     classpath 'io.fabric.tools:gradle:1.+' 
    } 
} 
apply plugin: 'com.android.application' 
apply plugin: 'io.fabric' 

... 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    ... 
    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
    } 
} 
+0

Ancak, hatayla ilgili olarak hala emin değilim ..uygulama eklentisi yönergesi nasıl çalışır? kapsamı nedir? –

+0

@MaximRahlis Bilmiyorum, tarayıcı not belgelerine ihtiyacınız olacak –

İlgili konular