Qual è il modo corretto per specificare un progetto di libreria Android per includere le sue dependencies

In Android Studio cerco di compilare un module di applicazioni Android che utilizza una libreria Android.
La libreria include un file jar per Bugsense (incluso automaticamente da gradle).

Sebbene il module della libreria si compila correttamente, il module di applicazione non riesce perché cerca il file jar Bugsense utilizzato nel module di libreria.

  • Impedire la notifica In attesa dell'inizio dell'iniziativa Attività già avviata?
  • Ping di Android ICMP
  • Come vengono richiamati i callback SurfaceHolder per il ciclo di vita delle attività?
  • Come controllare la connettività internet continuamente in background durante l'esecuzione dell'applicazione android
  • Barra d'azione contestuale di compatibilità Android
  • Unsatisfiedlinkerror in android (eclipse)
  • Ho una soluzione che consente di compilare il progetto. Includendo anche la dipendenza Bugsense nel progetto tutto funziona.

    La mia domanda è: come faccio a compilare il progetto senza duplicare la dipendenza di Bugsense?

    Ecco il mio file build.gradle per il progetto della libreria.

    buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android-library' repositories { mavenCentral() maven { url 'http://www.bugsense.com/gradle/' } } android { compileSdkVersion 15 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 15 targetSdkVersion 15 } } dependencies { compile 'com.bugsense.trace:bugsense:3.6' } 

    Il progetto della biblioteca è chiamato "util"

    Di seguito è riportta la sezione android del build.gradle per l'applicazione

     android { compileSdkVersion 15 buildToolsVersion '19.0.0' defaultConfig { minSdkVersion 15 targetSdkVersion 15 } dependencies { compile project(':util') } } 

    Quando compongo questo, ottengo il seguente errore:

     * What went wrong: A problem occurred configuring project ':br'. > Failed to notify project evaluation listener. > Could not resolve all dependencies for configuration ':br:_DebugCompile'. > Could not find com.bugsense.trace:bugsense:3.6. Required by: dss:br:unspecified > dss:util:unspecified 

    Posso fare il compilare il lavoro aggiungendo Bugsense alla sezione repository del file build.gradle per l'applicazione. Di seguito è riportto il codice aggiunto al file build.gradle per il progetto applicativo.

     repositories { mavenCentral() maven { url 'http://www.bugsense.com/gradle/' } } 

    Ricorda, il codice precedente è nel build.gradle per il progetto di applicazione e la libreria.

    Come faccio ad evitare l'aggiunta della dipendenza Bugsense sia per i progetti di applicazioni che per la libreria?

    AGGIORNAMENTI:

    Sto utilizzando Gradle 1.8

    Sto compilando dalla row di command con "gradle clean assembleDebug"

    Il seguente è il file build.gradle completo per il progetto applicativo:

     buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android' repositories { mavenCentral() //maven { url 'http://www.bugsense.com/gradle/' } } android { compileSdkVersion 15 buildToolsVersion '19.0.0' defaultConfig { minSdkVersion 15 targetSdkVersion 15 testPackageName "com.myapp.test" } dependencies { compile project(':common') compile project(':util') } } dependencies { instrumentTestCompile 'com.jayway.android.robotium:robotium-solo:4.3' instrumentTestCompile 'com.squareup:fest-android:1.0.+' instrumentTestCompile 'com.squareup.spoon:spoon-client:1.0.+' instrumentTestCompile 'com.google.guava:guava:15.0' } configurations { spoon } dependencies { spoon 'com.squareup.spoon:spoon-runner:1.0.5' } 

  • Rilasciate diverse applicazioni android con la stessa base di codice
  • Come risolvere i problemi di java.lang.OutOfMemoryError in Android
  • Android gestisce frammenti dall'attività elegante
  • Scrittura / JPEG Geotag (dati EXIF) in Android
  • Arabo TTS (Text To Speach) Libreria per android
  • OCR applicazione Android che utilizza Tesseract
  • One Solution collect form web for “Qual è il modo corretto per specificare un progetto di libreria Android per includere le sue dependencies”

    È il comportmento previsto. Si considerano solo le dichiarazioni dei repository per il progetto la cui configuration è correntemente risolta, anche quando sono coinvolte le dependencies transitive. In genere, i repository vengono dichiarati all'interno del allprojects { .. } di allprojects { .. } o allprojects { .. } del progetto radice, nel qual caso questo problema non può mai verificarsi.

    PS: le dependencies { .. } devono andare fuori dal block android { ... } .

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.