Qualcuno può spiegare cosa significa il team di strumenti Android in questo breve paragrafo citato di seguito?Spiegare la strategia delle dipendenze transitive descritta nella documentazione di Android Build System
In particolare: Che cos'è "somelib.jar"?
Stanno suggerendo, che creo un nuovo sottoprogetto che ha solo dipendenze, lo chiamo "progettoA" quindi il progetto pubblica "projectA.jar"? (usando artifacts.add ("default", file ('projectA.jar'))
Il comportamento desiderato che desidero è pubblicare "projectA.jar" insieme alle sue dipendenze senza causare alcuna "definizione di più file dex" errori
Citazione:.
Se si dispone di un barattolo o biblioteca locale AAR che si desidera utilizzare in più di un progetto, non si può semplicemente fare riferimento direttamente come un locale dipendenza. Questo è il bec ause il plug-in Android si lamenterà se lo stesso trova lo stesso file jar quando esegue il dex del progetto e tutte le sue dipendenze da . (Si noti che al momento non è possibile utilizzare un file di dominio locale anche se si fa riferimento solo una volta).
Un modo per risolvere questo problema è distribuire l'artefatto in un repository. Mentre è possibile, potrebbe non essere comodo a causa del sovraccarico di gestione di tale repository.
Un'altra opzione è creare un nuovo sottoprogetto Gradle e rendere questo artefatto del progetto il file jar o aar che si desidera riutilizzare . Quindi puoi semplicemente fare in modo che altri sottoprogetti di Gradle dipendano dallo questo nuovo sottoprogetto.
In questo nuovo sotto-progetto, è sufficiente creare un build.gradle con il seguente:
configurations.create ("default")
artifacts.add ("default", il file ('somelib .jar '))