0

ビルド済みのAPKをAOSPビルドに追加したいと思います。次のフォルダvendor/aaa / crespoを作成し、APKをフォルダ内に貼り付けました。APKをインストールするためのmakeファイルも作成しました。

makeファイルは次のとおりです。

$(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 に答える