Android P 源碼編譯錯誤記錄(1)error: X (java:sdk) should not link to Y (java:platform)


我自己遇到過這個問題,由於是內部代碼不能發佈,所以轉載了一點別人的代碼,作爲記錄Demo。

Android.mk文件

如下:

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)

報錯

error: X (java:sdk) should not link to Y

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)

解決方案

鏈接庫時導致報錯,解決方案如下:

LOCAL_SDK_VERSION := current

修改爲

LOCAL_PRIVATE_PLATFORM_APIS := true

參考

https://stackoverflow.com/questions/55004358/x-javasdk-should-not-link-to-y-javaplatform

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章