SORU
8 Ocak 2014, ÇARŞAMBA


Birden fazla dex dosyaları Landroid/destek/v4/accessibilityservice/define AccessibilityServiceİnfoCompat

Eğer gradle assembleDebug komut satırından çalıştırırsanız, aniden bu hatayı alıyorum:

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dx.util.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;
    at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:592)
    at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:550)
    at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:531)
    at com.android.dx.merge.DexMerger.mergeDexBuffers(DexMerger.java:168)
    at com.android.dx.merge.DexMerger.merge(DexMerger.java:186)
    at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:300)
    at com.android.dx.command.dexer.Main.run(Main.java:232)
    at com.android.dx.command.dexer.Main.main(Main.java:174)
    at com.android.dx.command.Main.main(Main.java:91)

Eğer v4 için grep eğer inşa benim klasörün içinde iki dosya görüyorum.

Binary file build/pre-dexed/debug/support-v4-19.0.0-2ba5fdd60a6c3836b3104a863fe42897da1fa9d1.jar matches
Binary file build/pre-dexed/debug/support-v4-r7-227d905d79b23b20866531d4f700446c040a2ccb.jar matches

Gradle dosyası sadece bu destek kitaplığı içerir:

compile 'com.android.support:support-v13:19.0.0'

R7 kitaplık bir şekilde dahil olduğunu nasıl tıkandım. gradle clean koştum ve her zaman assembleDebug ben yeniden ne zaman orada görünür.

Eğer inşa dizini içindeki r7 için grep, dosyanın içinde bunu görüyorum

Binary file build/exploded-bundles/ComGoogleAndroidGmsPlayServices4030.aar/classes.jar matches

Eğer v13, sonra yer yok diye başka şeyler hazırlamıyorsun.

Ama v13 v4 destek kütüphane vardır değil mi?

Bu oyun hizmetleri AAR paket ve v13 kütüphane arasında bir uyumsuzluk var mı?

Gradleplease.appspot.com gelen gradle dosyasını aldım.

Oyun hizmetleri kaldırılıyor; aynı hatayı düzeltmez.

Benim bağımlılıkları içinde inşa.gradle:

 dependencies {


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

// Support Libraries
//compile 'com.android.support:support-v4:19.0.0'
///compile 'com.android.support:appcompat-v7:19.0.0'
//compile 'com.android.support:gridlayout-v7:19.0.0'
compile 'com.android.support:support-v13:19.0.0'
compile 'org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5'
compile 'commons-codec:commons-codec:1.9'
compile 'com.madgag:markdownj-core:0.4.1'
compile 'com.wu-man:android-oauth-client:0.0.2'
compile 'com.google.http-client:google-http-client-jackson2:1.17.0-rc'
compile 'org.apache.commons:commons-lang3:3.2'
compile 'com.google.code.gson:gson:2.2.4'
}

CEVAP
13 Ocak 2014, PAZARTESİ


Çalıştırıngradle -q dependencies(yagradle -q :projectName:dependencies) bağımlılık bir rapor oluşturmak için. r7 nereden geldiğini görmek gerekir:

compile - Classpath for compiling the main sources.
 --- com.commonsware.cwac:camera-v9:0.5.4
|     --- com.actionbarsherlock:actionbarsherlock:4.4.0
|    |    \--- com.google.android:support-v4:r7
|     --- com.commonsware.cwac:camera:0.5.4
|    \--- com.android.support:support-v4:18.0.  -> 18.0.0
\--- com.android.support:support-v4:18.0.  -> 18.0.0

O zaman, bu bağımlılığı engellemek için exclude yönergesini kullanın. Benim durumumda, CWAC-Kamera benim kütüphaneden geliyor, ve ben kullanın:

dependencies {
    compile('com.commonsware.cwac:camera-v9:0.5.4') {
      exclude module: 'support-v4'
    }

    compile 'com.android.support:support-v4:18.0. '
}

compile ikinci ifade gerçekten istediğini gösterir)

Eğer bağımlılık raporu yeniden çalıştırın göreceğiniz gibi konulara açıklık olmalıdır:

compile - Classpath for compiling the main sources.
 --- com.commonsware.cwac:camera-v9:0.5.4
|     --- com.actionbarsherlock:actionbarsherlock:4.4.0
|    \--- com.commonsware.cwac:camera:0.5.4
\--- com.android.support:support-v4:18.0.  -> 18.0.0

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bryan Smith

    Bryan Smith

    12 Mart 2006
  • Edgar flores

    Edgar flores

    7 HAZİRAN 2006
  • TechSmartt

    TechSmartt

    29 Aralık 2010