我希望使用模拟器将预构建的APK添加到AOSP构建中。通过执行相关问题,我成功地将APK安装到系统/应用程序目录中。
但是我想将APK添加到数据/应用程序目录中。
我的开发环境如下:
- Ubuntu 16.04 LTS
- AOSP:安卓6.0.1_r77
- AOSP模拟器
我通过几个相关问题尝试了以下步骤。
- 将 APK 添加到/packages/apps目录。
- 创建 Android.mk 文件。
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := <name of APK>
LOCAL_SRC_FILES := <Name of APK>.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)
include $(BUILD_PREBUILT)
- addin/build/target/product/core.mk
PRODUCT_PACKAGES += <name of APK>
上面的 Android.mk 文件甚至没有将APK安装到系统/应用程序中。
我还尝试了以下方法。以下使文件将APK安装到系统/应用程序中。
...
LOCAL_MODULE_TAGS := tests
...
...
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
...
...
LOCAL_MODULE_PATH := $(TARGET_OUT)/data/app
...
我希望将APK安装到/数据/应用程序文件夹中。
可能有更好的方法,但我的处理方法是将.apk包含在系统目录中(不安装它,只需使用PRODUCT_COPY_FILES(。
像这样添加您的device.mk
代码来复制文件:
PRODUCT_COPY_FILES +=
vendor/XXXXX/common/apps/MYApplication/MYApplication.apk:system/app/MYApplication.nm
然后修改配置应用程序(在首次设备启动时运行(以安装该APK。安装是通过PackageManagerAPI 完成的。检查此答案或类似答案。