Eu tenho lido alguns artigos sobre a nova adoção do Gradle como o sistema de compilação padrão para aplicativos Android. Bem, vindo do desenvolvimento padrão do Java, geralmente dependo de arquivos jar para construir meu projeto. No entanto, parece que o Android também possui pacotes aar , que são equivalentes aos arquivos DLL em um sistema operacional Windows, conforme mencionado aqui :
Primeiro, você deve perceber que a plataforma Android não permite “bibliotecas compartilhadas” no nível do aplicativo. Nas plataformas “tradicionais” da linguagem de programação, C, C ++, Java, você escolhe, temos esse mecanismo de compartilhamento de bibliotecas de tempo de execução. (Por exemplo, DLL no Windows, DSO no Unix, Jar na JVM, etc.). No Android, no entanto, você não pode fazer isso, a menos que seja o Google ou um fabricante de celulares (consulte a Nota de rodapé 1 abaixo). Como desenvolvedor de aplicativos, isso pode ser uma limitação fundamental. Os códigos de "compartilhamento" ou "reutilização", tanto no tempo de construção quanto no tempo de execução, são uma parte muito importante da prática de engenharia de software. Isso é bastante difícil (não impossível, apenas mais difícil) no Android por causa da limitação acima mencionada.
No entanto, tenho algumas dúvidas sobre esse conceito. Quero dizer, quando um desenvolvedor deve estar interessado, incluindo dependências aar em sua aplicação? Essas dependências foram reforçadas para alguma versão mínima do SDK?
Por exemplo, em um projeto, acesso uma porta COM, para a qual uso as bibliotecas .so pré-compiladas do NDK . Tenho que criar um aar se quiser compartilhar este utilitário?