Как установить приложение в папку data/app вместо папки system/app в сборке AOSP?
Я положил папку с моим приложением в
packages/apps // inside AOSP source code
Теперь мое приложение имеет следующие Android.mk
в той же папке:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := package_name
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
# Use the folloing include to make our test app
include $(call all-makefiles-under,$(LOCAL_PATH))
Теперь, когда я собираю свой проект AOSP, он также компилирует мое приложение и помещает APK-файл внутрь:
выход / цель / продукта /$MY_PLATFORM/ система / приложение
Но я хочу поместить это в:
выход / цель / продукта /$MY_PLATFORM/ данные / приложение
Как мне это сделать? Какой make-файл я могу изменить?
2 ответа
Я получил решение, изменив эту вещь в Android.mk
LOCAL_MODULE_TAGS := tests
По сути, система сборки Android AOSP ничего не встраивает в /data. Идея раздела / data состоит в том, что это пользовательские данные, и они будут отправлены с завода пустыми (и полностью удалены при перезагрузке устройства). Если вы хотите установить что-то в / data, вы делаете это после установки, используя "adb install" или любой другой механизм.
Что именно вы пытаетесь достичь?
Вы можете воспользоваться помощью другого системного приложения. Скопируйте целевое приложение, которое необходимо установить в/data
сказать /system/usr/share
device/<your platform> /extras/usr/share/<target app>:system/usr/share/<target app name> \
напишите выше правило в
device/platform/<platform specific mk >
Теперь, используя другое приложение системного уровня, вы можете проверить, установлено ли ваше приложение или нет. Если не установлен, установите его через диспетчер пакетов, указав путь выше
system/usr/share/<target app name>