2015-06-05 29 views
10

Crashlytics, Fabric uygulamasını benim uygulamamda entegre ettim, sdk ile ilgili kilitlenmeler başarıyla bildirildi.Android Crashlytics ndk; ndkOut ve NdkLibsOut değerlerini build.gradle içinde

ndk kısmı için, blogdaki talimatları takip ettim; The Wait is Over: Launching Crashlytics for Android NDK, ancak ndk kilitlenmeleri rapor edilmiyor. Diğer kısımlar yeterince açık olduğundan gösterildiği gibi My şüphesiz, ben androidNdkOut ve androidNdkLibsOut için doğru yolu sağlayan değilim edilir:

enter image description here

şüphe ve soru benim build.gradle içindedir, işte burada. https://fabric.io/downloads/gradle/ndk - ..

crashlytics { 

    enableNdk true 
    androidNdkOut //what would be the obj here? 
    androidNdkLibsOut 'src/main/jniLibs' //path for my jni libraries 

} 

ben bu kılavuzu izleyin kodu

+0

% 100 emin değilim, ancak bu Crashlytics özelliğinin C kodunu derleme işleminizin bir parçası olarak .so dosyalarına derlediğinizden emin olduğunu düşünüyorum. Bu, bu klasörlere yerleştirildiğini düşündüğüm "hata ayıklama ve sürüm ikili dosyaları" oluşturur. Eğer önceden derlenmiş .so kütüphaneleri kullanıyorsanız işe yaramayacağını düşünüyorum. Bak: https://dev.twitter.com/crashlytics/android/ndk "Hata ayıklama ve ikili dosyaları serbest bırakma yollarını denetleme" – GaRRaPeTa

+0

Ben aslında bunları debugRelease sembolleri için '/ gradle' aracılığıyla yapıyorum, bu sorun değil umuyoruz – user2450263

+0

Burada aynı sorun, önceden derlenmiş olan lib'lerle çalışacak mı? – Anton

cevap

9

DÜZENLEME/GÜNCELLEME 7 Temmuz bu cevaba bir güncelleme burada Kumaş ekibinden 2017

Matt - biz sadece otomatik olarak uygun yerli tespit etmek için destek içerir Kumaş Gradle eklentisi sürüm 1.23.0 yayınlandı Gradle sürüm 2.2.0+ için Android eklentisi ile externalNativeBuild DSL kullandığınızda kütüphane yolları, böylece androidNdkOut ve androidNdkLibsOut özelliklerini ayarlamak gerekir. Bu hem CMake hem de ndk-build ile çalışacaktır. Daha fazla bilgiye buradan göz atın: https://docs.fabric.io/android/crashlytics/ndk.html#specifying-the-path-to-debug-and-release-binaries


Ben them..this cevap teşekkür, Crashlytics/Fabric Destek yardım aldıktan sonra bu sorunu çözebilirdi.

Birincisi benim app en build.gradle için

crashlytics { 

    enableNdk true 
    androidNdkOut //what would be the obj here? 
    androidNdkLibsOut 'src/main/jniLibs' //path for my jni libraries 

} 

için, bu olmalıydı: En ayıklama ikili bulunduğu yerlerde

crashlytics { 
    enableNdk true 
    androidNdkOut 'src/main/jniLibs' 
    androidNdkLibsOut 'src/main/jniLibs' 
} 

androidNdkOut olduğunu. Bu, 'u "src/main/obj" ile değiştirir, ancak projenizde farklıysa, çökme olaylarını {} ayarlayabilirsiniz.

aynı hakkında yararlı bilgiler içeren bir link: Bir küçük fakat çok yararlı bir parçası --stacktrace seçeneğiyle uploadReleaseSymbols gibi komutları koşuyordu crashlytics knowledgebase; Missing line numbers in native crashes

. Çarpışma raporlarını almamak için tarafımda da (sürüm sembolleri yükleme) bir sorun olduğundan bahsetmeye değer.

5

herhangi bir başka bölümünü gönderilmesi gerekiyor varsa bana bildirin. Her iki alanı da boş tuttuk (androidNdkOut ve NdkLibsOut)

+1

Eminim ki bunu bulmak isteyen biri istemiyorlar. –

+0

Resmi, gizli bir kılavuz, cool .. –

3

Benzer bir sorunla karşılaştım: CrashlyticsNdk kit'i Fabric.with() öğesine eklemek zorunda kaldık.

Fabric fabric = new Fabric.Builder(context) 
    .kits(new Twitter(authConfig), new Crashlytics(), new CrashlyticsNdk()) 
    .debuggable(true) 
    .build(); 
Fabric.with(fabric); 

Eğer androidNdkOut, androidNdkLibsOut bu şekilde kontrol edebilirsiniz.

$ ./gradlew -d clean assemble{Flavor} | grep ndk-build 

ve NDK_OUT ve NDK_LIBS_OUT bulacaksınız.

+3

hey, sadece bir güncelleme, bu komut Crashlytics ile bir mac üzerinde çalışmaz ve 'Fabric.with (bu yeni Crashlytics(), yeni CrashlyticsNdk() kullandık); ', çalışır – user2450263