sto usando Android 0.2.3 in studio con Gradle 0.5 e ha aggiunto la dipendenza ormlite al file build.gradle
come segue:"già aggiunto" eccezione con ormlite e Gradle
compile 'com.j256.ormlite:ormlite-android:4.9'
Gradle scaricati due file jar: ormlite-android.jar
e ormlite-core.jar
. Il problema è che i file jar contengono classi con nomi identici. In modo da ottenere la seguente eccezione ben noto:
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lcom/j256/ormlite/dao/BaseDaoImpl$1;
qualche altra soluzione per lo stesso problema con Maven exists, suggerendo di escludere il ormlite-core.jar
. Questo dovrebbe funzionare se tutte le classi da ormlite-core.jar
sono incluse in ormlite-android.jar
- Non ho controllato questo btw. In tal caso, non capisco perché il pacchetto ormlite-core sia presente in questo pacchetto di versioni Android di ormlite ... Aggiungo esplicitamente ormlite-android, come puoi vedere nello snippet qui sopra.
Ma come escludere ormlite-core.jar in gradle. Tutto quello che ho trovato è stato per il gradle 1.6, ma Android Studio utilizza Gradle 0.5 - o questa è solo la versione del wrapper Android Gradle?
.: MODIFICA :. Per rendere più chiare le dipendenze, aggiungo il mio file build.gradle
:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile 'com.android.support:support-v4:18.0.+'
compile 'com.android.support:appcompat-v7:18.0.+'
compile 'com.google.android.gms:play-services:3.1.+'
compile 'com.j256.ormlite:ormlite-android:4.9'
}
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
defaultConfig {
minSdkVersion 10
targetSdkVersion 18
}
}
Perché credo che ci siano stesse classi nelle due librerie ormlite? ==> Guarda lo screenshot. I pacchetti aperti non sono identici? Anche la fonte è. Le uniche classi distinte che ho trovato erano SqliteAndroidDatabaseType
e quelle nel pacchetto com.j256.ormlite.android
.
Non so quale sia il problema ma ormlite-android non _non_ include la roba -core nel caso ci sia qualche domanda. I documenti sono chiari su questo: http://ormlite.com/docs/getting-started – Gray
Ho studiato già i documenti. – cybergen