如何将应用程序或 apk 安装到 AOSP 构建中的数据/应用程序目录中?



我希望使用模拟器将预构建的APK添加到AOSP构建中。通过执行相关问题,我成功地将APK安装到系统/应用程序目录中。

但是我想将APK添加到数据/应用程序目录中。

我的开发环境如下:
- Ubuntu 16.04 LTS
- AOSP:安卓6.0.1_r77
- AOSP模拟器

我通过几个相关问题尝试了以下步骤。

  1. 将 APK 添加到/packages/apps目录。
  2. 创建 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)
  1. 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 完成的。检查此答案或类似答案。

最新更新