我已将 apk 添加到我的 AOSP 源代码的应用程序中并成功完成构建。但是当我在模拟器上启动系统映像时,该应用程序不会显示。
我已按照以下步骤创建自定义版本:
在root/packages/apps目录下创建文件夹MyApp。
将 myApp.apk 文件添加到这个新创建的文件夹中。
在此位置创建了一个 Android.mk 文件,其中包含以下内容:
`LOCAL_PATH := $(调用我的目录)
包括 $(CLEAR_VARS)
LOCAL_PRIVILEGED_MODULE = false
LOCAL_UNINSTALLABLE_MODULE := true
LOCAL_MODULE := 我的应用程序
LOCAL_CERTIFICATE := 已预先签名
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := 应用程序
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)
包括 $(BUILD_PREBUILT)`
完成这些步骤后,我使用以下命令创建了构建:
$ source ./build/envsetup.sh $ lunch sdk_phone_x86 $ make -j32 sdk sdk_repo
这个问题有解决办法吗?
添加device/generic/x86/BoardConfig.mk
PRODUCT_PACKAGES += MyApp
当您使用
LOCAL_CERTIFICATE := PRESIGNED
时,您的应用程序不应放置在system/priv-app
分区中。相反,它应该位于 system_ext/priv-app
分区中。
要解决此问题,您需要将
LOCAL_SYSTEM_EXT_MODULE := true
添加到您的 Android.mk 文件中。
修改Android.mk文件后,重建AOSP,应用程序应该出现在应用程序列表中。