我正在制作一个LineageOS 17.0的个人版本,我想在其中包含许多预先构建的APK。为此,我有一个单独的文件夹“ vendor / apps”,其中包含两个文件apps-vendor.mk和Android.mk,以及我存储APK文件的子文件夹“ app”。这是通过此线程Add prebuilt apk to AOSP build的帮助。
现在,虽然我成功地添加了许多APK,例如Blokada,FDroid,但我时不时遇到一个我根本无法添加到版本中的APK,例如TotalCommander。
如果执行正常的构建过程,就不会添加它。如果我使用例如“ mma TotalCommander”我收到一条错误消息,内容为“ FAILED:ninja:unknown target'TotalCommander'”。
以下是我包含在我的apps-vendor.mk文件中的内容:
Blokada \
FDroid \
F-DroidPrivilegedExtension \
VLC \
WaveUp \
YouTubeVancedMicroG \
YouTubeVanced \
TotalCommander
这是我的Android.mk文件的摘录:
# Custom added apps
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := Blokada
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_SRC_FILES := app/Blokada.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := FDroid
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_SRC_FILES := app/FDroid.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := TotalCommander
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_SRC_FILES := app/TotalCommander.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
etc ...
[我尝试了一些不同的操作,例如将APK文件名替换为正在工作的文件名,尝试使用其他模块名称(例如TC等),所有这些都产生相同的结果。
我觉得很傻,但是问题是这样。我最初将文件夹直接放在供应商下面,但是后来我将该文件夹移到了父目录并进行了符号链接。此类符号链接无法正常构建。我仍然可以检测到vendor-apps.mk文件,以及何时对其进行更改,但实际上并没有添加任何规则。