Sto lavorando al progetto Libreria Android e desidero aggiungere Picasso alla mia libreria. Ho notato che diverse biblioteche utilizzano approcci diversi per fare questo:Aggiunta di dipendenze di librerie di terze parti alla libreria Android
- Alcune librerie usano la dipendenza libreria statica (come le biblioteche e gif_encoder gif_decoder in Glide lib)
- Alcune librerie utilizzano soliti Gradle o pom dipendenze dinamiche (come Picasso utilizza OKHttp o Wire utilizza Retrofit e RxJava). Non intendo versioni dinamiche qui contrassegnati con segno + (come 2.3.3 e versioni successive)
- Alcune biblioteche richiedono aggiungendo la dipendenza esplicita a qualche lib insieme con la libreria di destinazione (come RxAndroid utilizza RxJava)
Così la domanda: qual è il modo migliore per aggiungere librerie di terze parti al progetto di libreria Android? Intendo il modo in cui contribuire a semplificare il processo di integrazione della libreria per l'utente finale e ad evitare conflitti di versioni e altri potenziali problemi. Quali sono i vantaggi e gli svantaggi di un particolare approccio?
Dal mio punto di vista, aggiungendo le dipendenze nella Gradle modulo di libreria è l'approccio migliore. In questo modo rendi trasparente all'utente finale ciò che stai utilizzando per realizzare il suo scopo. Se si fa importare insieme le proprie dipendenze, si aggiunge complessità al processo di importazione della libreria e persino errori nel caso in cui l'utente non li importi. Tuttavia, se l'utente utilizza una versione diversa della libreria utilizzata dal modulo, è possibile che si verifichi un conflitto tra i due, quindi l'utente deve risolverli nel file gradle. –