// //

ライブラリの重複

  • 現象:ログにて以下のエラー(一部省略)が発生
com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat

org.gradle.process.internal.ExecException: 
Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/bin/java''
finished with non-zero exit value 2
  • 理由:取り込み済みライブラリが外部モジュールにも使用されていた

/libsディレクトリに「android-support-v4.jar」を置いていたが、
導入した外部モジュールであるdrag-sort-listview内にも同ファイルが存在していたため怒られていた。
(おかげで半日程はまった…)

  • 解決:build.gradleを修正


build.gradle内のライブラリ記載箇所を修正

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    // compile 'asia.ivity.android:drag-sort-listview:1.0' と記載していたのを下記に修正
    compile ('asia.ivity.android:drag-sort-listview:1.0'){
        exclude module: 'support-v4'
    }
}