Я разработчик прошивок для Android. Я работаю с источником Android 9. Я написал собственный поставщик сетевых расположений для прошивки AOSP, названный автономной службой определения местоположения. Я добавил это приложение в packages/apps/offlinelocatonservice
путь в дереве сборки AOSP.
Я создал файл Android.mk
, чтобы включить его в пакеты по умолчанию для ОС Android.
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_PACKAGE_NAME := OfflineLocationService
LOCAL_SDK_VERSION := current
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_CERTIFICATE := platform
LOCAL_USE_AAPT2 := true
# Include libraries
LOCAL_JAVA_LIBRARIES := framework com.android.location.provider
LOCAL_STATIC_JAVA_LIBRARIES := android-common
LOCAL_STATIC_ANDROID_LIBRARIES := \
android-support-v4 \
android-support-v7-appcompat \
android-support-design \
android-support-v7-preference \
android-support-v7-recyclerview \
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_AAPT_FLAGS := --auto-add-overlay
LOCAL_AAPT_FLAGS += --extra-packages android.support.v7.appcompat
LOCAL_AAPT_FLAGS += --extra-packages android.support.design
include $(BUILD_PACKAGE)
Но когда я собираю AOSP, я сталкиваюсь с этой ошибкой:
packages/apps/OfflineLocationService/Android.mk: error: OfflineLocationService (java:sdk) should not link to com.android.location.provider (java:platform)
packages/apps/OfflineLocationService/Android.mk: error: OfflineLocationService (java:sdk) should not link to framework (java:platform)
Почему я не должен ссылаться на com.android.location.provider
и framework
?
В предыдущих версиях Android, таких как Android 8 и более ранних, эта ошибка не возникает.
Как я могу решить эту ошибку?