Я пытаюсь создать свое приложение для Android на основе Java, построив его как модуль внутри источника AOSP. Мое приложение использует android.support.constraint.ConstraintLayout
. Но я не нашел прямого способа включить зависимость "ограничение-макет" в свой Android.mk
.
Я поместил свой проект в AOSP_ROOT/packages/apps
и попробовал с этим Android.mk
:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_PRIVILEGED_MODULE := true
LOCAL_PACKAGE_NAME := MyApp
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_SRC_FILES := $(call all-java-files-under, java)
LOCAL_MANIFEST_FILE := AndroidManifest.xml
LOCAL_AAPT_FLAGS := \
--auto-add-overlay \
--extra-packages android.support.constraint
LOCAL_STATIC_JAVA_LIBRARIES := \
android-common \
android-support-v4 \
android-support-constraint-layout-solver
LOCAL_STATIC_JAVA_AAR_LIBRARIES := \
android-support-constraint-layout
include $(BUILD_PACKAGE)
Но это приводит к ошибке сборки:
ниндзя: ошибка: 'out / target / common / obj / JAVA_LIBRARIES / android-support-constraint-layout_intermediates / aar / classes.jar', требуется 'out / target / common / obj / APPS / MyApp_intermediates / AndroidManifest.xml', отсутствует и нет известного правила, чтобы сделать это 20:57:54 ниндзя потерпел неудачу с: статус выхода 1
Насколько я понимаю, он ищет classes.jar
, который может быть построен из файла .aar
, но его нет. Однако ответ здесь решает проблему: Как включить библиотека компоновки ограничений в проекте AOSP
Но проблема в том, что этот ответ предлагает добавить внешние constraint-layout.aar
и constraint-layout-solver.jar
в каталог моего проекта libs
.
Мой вопрос: можно ли добавить поддержку constraint-layout
в мой проект, используя встроенную библиотеку внутри AOSP, без добавления внешних .aar
и .jar
в мой проект?