Ich habe einige Artikel über die neue Einführung von Gradle als Standard-Build-System für Android-Apps gelesen. Nun, da ich aus der Standard-Java-Entwicklung stamme, bin ich normalerweise auf JAR- Dateien angewiesen , um mein Projekt zu erstellen. Es scheint jedoch, dass Android auch aar- Pakete hat, die den DLL- Dateien in einem Windows-Betriebssystem entsprechen, wie hier erwähnt :
Zunächst müssen Sie feststellen, dass die Android-Plattform keine „gemeinsam genutzten Bibliotheken“ auf Anwendungsebene zulässt. In den "traditionellen" Programmiersprachenplattformen C, C ++, Java, wie Sie es nennen, haben wir diesen Mechanismus zum Teilen von Laufzeitbibliotheken. (ZB DLL unter Windows, DSO unter Unix, Jar unter JVM usw.). Unter Android ist dies jedoch nur möglich, wenn Sie Google oder ein Hersteller von Mobiltelefonen sind (siehe Fußnote 1 unten). Als Anwendungsentwickler kann dies eine grundlegende Einschränkung sein. Das „Teilen“ oder „Wiederverwenden“ von Codes sowohl zur Erstellungszeit als auch zur Laufzeit ist ein sehr wichtiger Bestandteil der Softwareentwicklungspraxis. Dies ist unter Android aufgrund der oben genannten Einschränkung ziemlich schwierig (nicht unmöglich, nur schwieriger).
Ich habe jedoch einige Zweifel an diesem Konzept. Ich meine, wann sollte ein Entwickler daran interessiert sein, aar- Abhängigkeiten in seine Anwendung aufzunehmen? Werden diese Abhängigkeiten auf eine SDK-Mindestversion verschärft?
Zum Beispiel greife ich in einem Projekt auf einen COM-Port zu, für den ich NDK-vorkompilierte .so- Bibliotheken verwende. Muss ich ein aar erstellen, wenn ich dieses Dienstprogramm freigeben möchte?