android - 将外部 JAR 添加到 Android AOSP 构建时出错

标签 android makefile android-source

我正在尝试将外部 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) 修复它。

关于android - 将外部 JAR 添加到 Android AOSP 构建时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48531969/

相关文章:

android - 区别- ApplicationContext() VS。 ANDROID 中的 Activity 上下文..?

c - 使用子目录中的程序集目标文件

android - Android什么时候认为窗口泄漏了?

android - 查询 Room 中对象的类型转换列表

android - 本地路径不存在 Android Studio 1.0

c - 完成百分比

android - 只读模式下的 ext4 文件系统对移动设备的性能是否优于 ext2?

android - Android native 服务器列表

java - 努力在我的 Android Studio 项目中获取 Android View

makefile - 有没有什么好的工具可以检查 Makefile?