【问题标题】:add prebuilt jar to AOSP将预构建的 jar 添加到 AOSP
【发布时间】:2016-08-13 05:55:53
【问题描述】:

我在编译 AOSP 时尝试向 Android 添加一个预构建的 jar。 jar 的名称是“nxpnfclib.jar”,我将它放在 AOSP/prebuilts/misc/common/nxp 中。我也写了一个Android.mk:

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_PREBUILT_JAVA_LIBRARIES := \
    nxpnfclib$(COMMON_JAVA_PACKAGE_SUFFIX)

LOCAL_MODULE_TAGS := optional

include $(BUILD_HOST_PREBUILT)

我想在 AOSP/packages/apps/Settings 中使用这个 jar,所以我将 nxpnfclib 添加到 AOSP/packages/apps/Settings/Android.mk 中

LOCAL_STATIC_JAVA_LIBRARIES := guava android-support-v4 jsr305 nxpnfclib

但是,当我编译整个 AOSP 时,会出现一些错误:

警告:类 [com/nxp/nfclib/ntag/╦К.class] 意外包含 class [com.nxp.nfclib.ntag.ˊ] 警告:有 30 个类 错误命名的文件。 您应该确保所有文件名都对应于它们的类名。 目录层次结构必须与包层次结构相对应。 如果您不介意没有写出提到的课程, 您可以使用“-ignorewarnings”选项试试运气。错误:请先更正上述警告。制作: *** [out/target/common/obj/APPS/Settings_intermediates/proguard.classes.jar] 错误 1

如何解决此错误?它可能来自proguard。

还有其他方法可以添加jar吗?

【问题讨论】:

  • 谢谢,这对我有帮助。

标签: jar android-source android-proguard


【解决方案1】:

在 src 中再创建一个目录 libs 并将 jar 文件放入其中。然后将这几行添加到 Android.mk 文件中

LOCAL_STATIC_JAVA_LIBRARIES += nxpnfclib
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES:=nxpnfclib:src/libs/nxpnfclib.jar
include $(BUILD_MULTI_PREBUILT)

【讨论】:

    【解决方案2】:

    要在 Android.mk 中使用 BUILD_PREBUILT 将预构建的 jar 构建到 AOSP,如下所示

    LOCAL_PATH:= $(call my-dir)
    include $(CLEAR_VARS)
    LOCAL_MODULE := nxpnfclib
    LOCAL_SRC_FILES := nxpnfclib.jar # path to your jar file
    LOCAL_MODULE_TAGS := optional
    LOCAL_MODULE_CLASS := JAVA_LIBRARIES
    LOCAL_MODULE_SUFFIX := $(COMMON_JAVA_PACKAGE_SUFFIX)
    LOCAL_UNINSTALLABLE_MODULE := true
    include $(BUILD_PREBUILT)
    

    要在 AOSP/packages/apps/Settings 中使用此库,请在 Settings 的 Android.mk 中将 nxpnfclib 添加到 LOCAL_STATIC_JAVA_LIBRARIES,如下所示:

    LOCAL_STATIC_JAVA_LIBRARIES += nxpnfclib
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 1970-01-01
      相关资源
      最近更新 更多