将外部 JAR 添加到 Android AOSP 构建时出错
Error when adding external JAR to Android AOSP build
我正在尝试将外部 JAR 文件(例如 gson 或 eventbus)添加到我的 AOSP 构建中。我尝试了两种不同的方式:
将它们添加到 prebuilts/misc/common/mylibs/
并为目录创建一个 Android.mk
文件。然后,我仅在应用程序的 Android.mk
文件中包含库的符号名称。
将它们添加到我的自定义应用程序源代码的子目录 libs
中,并直接通过应用程序的 Android.mk
文件添加。
但是,这两种方法都会产生类似的错误,第二种方法如下:
ninja: error: 'packages/apps/Car/MyApp/packages/apps/Car/Myapp/libs/gson-2.6.2.jar', needed by 'out/target/common/obj/JAVA_LIBRARIES/gson_intermediate/classes.jack', missing and no known rule to make it.
我注意到错误消息中奇怪的重复路径。有人知道我做错了什么吗?
这是我的第二种方式的 Android.mk
文件:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := MyApp
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_TAGS := optional
LOCAL_PRIVILEGED_MODULE := true
LOCAL_STATIC_JAVA_LIBRARIES += jsr305 gson
LOCAL_STATIC_ANDROID_LIBRARIES := android-support-v4
LOCAL_USE_AAPT2 := true
include packages/apps/Car/libs/car-stream-ui-lib/car-stream-ui-lib.mk
include packages/services/Car/car-support-lib/car-support.mk
include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := gson:$(LOCAL_PATH)/libs/gson-2.6.2.jar
include $(BUILD_MULTI_PREBUILT)
从路径中删除 $(LOCAL_PATH)
修复了它。
我正在尝试将外部 JAR 文件(例如 gson 或 eventbus)添加到我的 AOSP 构建中。我尝试了两种不同的方式:
将它们添加到
prebuilts/misc/common/mylibs/
并为目录创建一个Android.mk
文件。然后,我仅在应用程序的Android.mk
文件中包含库的符号名称。将它们添加到我的自定义应用程序源代码的子目录
libs
中,并直接通过应用程序的Android.mk
文件添加。
但是,这两种方法都会产生类似的错误,第二种方法如下:
ninja: error: 'packages/apps/Car/MyApp/packages/apps/Car/Myapp/libs/gson-2.6.2.jar', needed by 'out/target/common/obj/JAVA_LIBRARIES/gson_intermediate/classes.jack', missing and no known rule to make it.
我注意到错误消息中奇怪的重复路径。有人知道我做错了什么吗?
这是我的第二种方式的 Android.mk
文件:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := MyApp
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_TAGS := optional
LOCAL_PRIVILEGED_MODULE := true
LOCAL_STATIC_JAVA_LIBRARIES += jsr305 gson
LOCAL_STATIC_ANDROID_LIBRARIES := android-support-v4
LOCAL_USE_AAPT2 := true
include packages/apps/Car/libs/car-stream-ui-lib/car-stream-ui-lib.mk
include packages/services/Car/car-support-lib/car-support.mk
include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := gson:$(LOCAL_PATH)/libs/gson-2.6.2.jar
include $(BUILD_MULTI_PREBUILT)
从路径中删除 $(LOCAL_PATH)
修复了它。