Ho letto alcuni articoli sulla nuova adozione di Gradle come sistema di generazione standard per le app Android. Bene, provenendo dallo sviluppo Java standard di solito dipendo dai file jar per costruire il mio progetto. Tuttavia sembra che Android abbia anche pacchetti aar , che sono l'equivalente dei file dll in un sistema operativo Windows, come menzionato qui :
Innanzitutto, devi capire che la piattaforma Android non consente "librerie condivise" a livello di applicazione. Nelle piattaforme di linguaggio di programmazione "tradizionali", C, C ++, Java, lo chiami, abbiamo questo meccanismo di condivisione delle librerie di runtime. (Ad esempio, DLL su Windows, DSO su Unix, Jar su JVM, ecc.). Su Android, tuttavia, non puoi farlo, a meno che tu non sia Google o un produttore di telefoni (vedi la nota 1 di seguito). Come sviluppatore di applicazioni, questo può essere un limite fondamentale. La "condivisione" o il "riutilizzo" dei codici, sia in fase di costruzione che in fase di esecuzione, è una parte molto importante della pratica di ingegneria del software. Questo è piuttosto difficile (non impossibile, solo più difficile) su Android a causa della limitazione di cui sopra.
Tuttavia, ho alcuni dubbi su questo concetto. Voglio dire, quando uno sviluppatore dovrebbe essere interessato a includere le dipendenze aar nella sua applicazione? Queste dipendenze sono ridotte a una versione minima dell'SDK?
Ad esempio, in un progetto accedo a una porta COM, per la quale utilizzo librerie .so NDK precompilate . Devo creare un aar se voglio condividere questa utility?