Czytałem artykuły o nowym zastosowaniu Gradle jako standardowego systemu kompilacji dla aplikacji na Androida. Cóż, wychodząc ze standardowego programowania w Javie, zwykle polegam na plikach jar , aby zbudować mój projekt. Wygląda jednak na to, że Android ma również pakiety aar , które są odpowiednikiem plików dll w systemie operacyjnym Windows, jak wspomniano tutaj :
Po pierwsze, musisz zdać sobie sprawę, że platforma Android nie zezwala na „biblioteki współdzielone” na poziomie aplikacji. W „tradycyjnych” platformach języków programowania, C, C ++, Java, jak to nazwałeś, mamy ten mechanizm współdzielenia bibliotek wykonawczych. (Np. DLL w systemie Windows, DSO w systemie Unix, Jar w JVM itp.). Jednak na Androidzie nie możesz tego zrobić, chyba że jesteś Google lub producentem telefonu (patrz przypis 1 poniżej). Dla twórców aplikacji może to być fundamentalne ograniczenie. „Udostępnianie” lub „ponowne wykorzystywanie” kodów, zarówno w czasie tworzenia, jak i wykonywania, jest bardzo ważną częścią praktyki inżynierii oprogramowania. Jest to dość trudne (nie niemożliwe, po prostu trudniejsze) na Androidzie ze względu na wspomniane ograniczenie.
Mam jednak wątpliwości co do tej koncepcji. Chodzi mi o to, kiedy programista powinien być zainteresowany włączeniem zależności aar do swojej aplikacji? Czy te zależności są zaostrzone do jakiejś minimalnej wersji zestawu SDK?
Na przykład w jednym projekcie mam dostęp do portu COM, do którego używam prekompilowanych bibliotek .so NDK . Czy muszę tworzyć AAR, jeśli chcę udostępniać to narzędzie?