0

我想将我的预构建 APK 添加到我的 AOSP 构建中。我创建了以下文件夹vendor/aaa/crespo并将我的 APK 粘贴到该文件夹​​中。我还创建了一个 make 文件来安装我的 APK。

制作文件如下:

$(call inherit-product, $(SRC_TARGET_DIR)/product/generic.mk)
include $(CLEAR_VARS)
LOCAL_MODULE_PATH := vendor/aaa/crespo/
LOCAL_MODULE_PATH := $(strip $(LOCAL_MODULE_PATH))
ifeq ($(LOCAL_MODULE_PATH),)
  LOCAL_MODULE_PATH := $($(my_prefix)OUT$(partition_tag)_$(LOCAL_MODULE_CLASS))
  ifeq ($(strip $(LOCAL_MODULE_PATH)),)
    $(error $(LOCAL_PATH): unhandled LOCAL_MODULE_CLASS "$(LOCAL_MODULE_CLASS)")
  endif
endif
  # Module name should match apk name to be installed.
  LOCAL_MODULE := test
  LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
  LOCAL_MODULE_CLASS := APPS
  LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
  LOCAL_MODULE_TAGS := optional
  LOCAL_CERTIFICATE := PRESIGNED
  include $(BUILD_PREBUILT)

谁能告诉我make文件有什么问题?在这个 make 文件中,我想告诉编译器将我的 APK 添加到构建中。它构建得很好,但我的应用程序不存在于installed-files.txt文件中。

4

2 回答 2

1

在github 上阅读构建脚本

LOCAL_MODULE_PATH := $(strip $(LOCAL_MODULE_PATH))
ifeq ($(LOCAL_MODULE_PATH),)
  LOCAL_MODULE_PATH := $($(my_prefix)OUT$(partition_tag)_$(LOCAL_MODULE_CLASS))
  ifeq ($(strip $(LOCAL_MODULE_PATH)),)
    $(error $(LOCAL_PATH): unhandled LOCAL_MODULE_CLASS "$(LOCAL_MODULE_CLASS)")
  endif
endif

是你走错了路。如果 Android.mk 在同一目录中,我认为您不需要将路径放在它前面。顺便说一句,您也没有设置 LOCAL_CERTIFICATE - 我不知道是否有必要,但大多数人似乎都设置了它。

于 2012-11-26T12:45:47.100 回答
0

就我而言,它有助于Android.mk通过宏包含定义all-makefiles-under

include $(call all-makefiles-under, $(LOCAL_PATH))

当我直接包含 Android.mk 时出现问题。

于 2014-06-02T17:45:30.717 回答