Android / AOSP Android.mk сборка и поддержка-v4 AAR и т. Д. - PullRequest
0 голосов
/ 28 января 2019

Я создаю приложение, которое будет частью образа системы с AOSP , и пытаюсь включить библиотеки support-v4 и т. Д. Как AAR sдля приложения / в папке приложения libs / .В противном случае это работает нормально, и само приложение, и весь образ системы строится нормально, но затем возникают сбои во время выполнения при попытке открыть приложение.Кажется, что все они связаны с тем, что во время выполнения не обнаруживаются определенные классы support-v4 и т. Д., Например, ViewCompatMarshmallow и т. Д.

Теперь я проверил, и эти классы фактически включены в AARфайл, но, например, так:

ViewCompat $ MarshmallowViewCompatImpl.class

Принимая во внимание, что если я проверяю исходный код, например, support-v4, они включаются как

ViewCompatMarshmallow.java

Так что не следует ли тогда включать его в AAR как

ViewCompatMarshmallow.class

?

Я подозреваю, что это может быть какая-то проблема Android.mk , поскольку это то, что мне нужно использовать с моим приложением.Gradle, к сожалению, не подходит.

Я объявил, например, библиотеку AAR support-v4 по мере необходимости:

LOCAL_STATIC_JAVA_AAR_LIBRARIES += support-v4-26.0.0

LOCAL_AAPT_FLAGS += --auto-add-overlay
LOCAL_AAPT_FLAGS += --generate-dependencies
LOCAL_AAPT_FLAGS += --extra-packages android.support.v4
LOCAL_AAPT_FLAGS += --extra-packages android.support.v4.app
LOCAL_AAPT_FLAGS += --extra-packages android.support.v4.view
(etc. all the required packagenames) 

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += support-v4-26.0.0:libs/support-v4-26.0.0.aar

Сам файл AAR находится в папке Android SDK m2repository , так что должно быть "официальным" и правильным, верно?

Есть идеи?

Спасибо!

1 Ответ

0 голосов
/ 30 января 2019

Отвечая себе - проблема была / есть с системой сборки AAPT / AAPT2 из-за того, что происходит извлечение чего-либо из файлов * .aar.

Таким образом, если вынапример, есть файл *. jar внутри папки libs / внутри * .aar, который не обнаружен и приводит к сбоям во время выполнения с ClassDefNotFoundExceptions .

Итак, в основном ответ уже был здесь: Как включить .aar в AOSP с android.mk

...