Как установить приложение в папку 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>

Другие вопросы по тегам