Ich mache Android benutzerdefinierte ROM-Entwicklung jetzt. Das Build-System von AOsp basiert auf Android.mk, aber ich möchte einige AAR-Bibliotheken hinzufügen, ist es möglich, AAR-Bibliotheken in Android.mk zu integrieren?aar Unterstützung in Android.mk
Antwort
Sie sollten folgende Bausteine in Ihr Android.mk hinzufügen
LOCAL_STATIC_JAVA_AAR_LIBRARIES:= <aar alias>
.
.
.
include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := <aar alias>:libs/<lib file>.aar
include $(BUILD_MULTI_PREBUILT)
Bitte auch sich bewusst sein satisfy minSdkVersion erforderlich durch Bibliothek in Ihrer Manifest-Datei.
Kostiantyn Luzans Antwort hat ein Problem. Nach dem Kompilieren werden die Ressourcen in der aar der R-Datei meines Hauptpakets hinzugefügt, aber nicht in der R-Datei des AAR-Pakets. Der Paketname des aars lautet beispielsweise my.aar, der Paketname des Hauptprojekts lautet my.main. Das aar hat eine Zeichenfolge namens "string_in_aar". Nach der Kompilierung ist die Zeichenfolgen-ID my.main.R.string_in_aar und nicht my.aar.R.string_in_aar. Das stürzt die apk ab, weil der Code im aar my.aar.R.string_in_aar verwendet.
Die Lösung ist: LOCAL_AAPT_FLAGS + = --Extra-Pakete {aar Paketname}. Sie erhalten zwei R-Datei. Sie haben den gewissen Inhalt. Das eine Paket ist das Hauptpaket, das andere ist das aar-Paket.
- 1. Unity3D und AAR
- 2. Wo soll Android.mk sein?
- 3. Android.mk scheint nicht
- 4. Cmake Vs. Android.mk
- 5. Hinzufügen einer externen Jar-Referenz in Android.mk
- 6. Android.mk - Erstelle alle Quelldateien in einem Verzeichnis
- 7. Wie schreibe ich das Makefile in android.mk?
- 8. Anmerkungen zur Android-Unterstützung @StringDef funktioniert nicht, wenn es in eine .aar-Datei exportiert wird
- 9. Android Studio: AAR Bibliothek Abhängigkeit innerhalb einer anderen AAR-Bibliothek
- 10. Android Studio @aar Import Erstellen falsches explodierte-aar Verzeichnis
- 11. Android aar Abhängigkeiten
- 12. Upload aar zu maven
- 13. Cygwin ist Trimmen meine android.mk Weg
- 14. Beantragung der Erlaubnis in AAR für Marshmallow
- 15. Fehler beim Binden eines .AAR in Xamarin.Android
- 16. Was bedeutet "@aar" in Großbuchstaben "kompilieren" Aufgabe
- 17. Include AAR-Abhängigkeit in Android-Bibliothek Projekt
- 18. Erstelle eine AAR-Datei in Android Studio
- 19. Wie JAR Abhängigkeit in eine AAR Bibliothek
- 20. Android fehlgeschlagen aar Datei in Build umbenennen
- 21. Wie konvertiert man apklib in aar
- 22. Cordova Plugin-Entwicklung - Hinzufügen aar
- 23. aar vs "plain modul" Vorteile
- 24. Jar-Bibliothek von Aar ausschließen
- 25. NoClassDefFoundError nach dem Import aar
- 26. AAR Library Transitive Abhängigkeiten Konflikt?
- 27. Warnung: .../Android.mk: Nicht-System-Bibliotheken in Linker-Flags
- 28. Android NDK: So erhalten Sie Compiler-Architektur in Android.mk dynamisch
- 29. Wie setze ich Build-ID einer Elf-Datei in Android.mk
- 30. Wie schreibe ich Android.mk Datei mit Quelldateien in Unterverzeichnissen?
Ich bezweifle, dass dies Ressourcen in aar verwenden kann. – Juude
Gibt es eine Lösung dafür? –
Laut Google AOSP-Buildsystem-Implementierung - wenn Sie LOCAL_STATIC_JAVA_AAR_LIBRARIES anstelle von LOCAL_STATIC_JAVA_LIBRARIES verwenden - besteht der einzige Unterschied in den Ressourcen. Es hat Ressourcen beiseite gelegt und sie mit Ihren Paket-Ressourcen auf der Paketverknüpfungsstufe kombiniert. –