Как добавить готовое приложение (системное приложение) в исходный код AOSP - PullRequest
1 голос
/ 02 марта 2020

Я пытался добавить APK в AOSP версии 10 в качестве системного приложения. Я следовал процедуре, упомянутой в почти разных ссылках, которая здесь Добавить apk в AOSP , но ничего не получалось. Процесс, упомянутый в этой ссылке, и следующие шаги:

  1. Поместите мой Apk в Aosp_root/packages/apps/my-app-folder/my-app.apk
  2. Напишите Android.mk из my-app.apk в /my-app-folder

Код Android.mk

    LOCAL_PATH := $(call my-dir)

    include $(CLEAR_VARS)

    LOCAL_MODULE_TAGS := optional

    LOCAL_MODULE := Signal

    LOCAL_CERTIFICATE := platform

    LOCAL_SRC_FILES := Signal-website-universal-release-4.55.8.apk

    LOCAL_MODULE_CLASS := APPS

    LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)

    include $(BUILD_PREBUILT)
Затем на шаге 3 для добавления PRODUCT_PACKAGES в core.mk или common.mk я не смог найти оба указанных файла (core.mk или common.mk) в указанном каталоге (build/target/products). Но я нашел gsi-common.mk файл в папке build/target/product и нашел PRODUCT_PACKAGES в этом файле и добавил в него каталог my-app.

вот код gsi-common.mk.

   `PRODUCT_PACKAGES += \
    messaging \
    PhotoTable \
    WAPPushManager \
    WallpaperPicker \
    Signal \`
После перекомпоновки AOSP для aosp-root и перепрошивки на устройстве ничего не изменилось, my-app.apk не было добавлено. Затем я использовал команду mm в каталоге packages/apps, и он построил my-app.apk, и он был добавлен в aosp_root/out/target/product/taimen/system/app. После этого я запускаю команду make snod, чтобы заново сгенерировать образ системы, и он был создан. Когда я высветил это изображение на моем устройстве Pixel, оно зависло в Google lo go, а также показывает, что операционная система повреждена до того, как оно показывает Google Lo go.

Можете ли вы сказать мне, что Я пропустил или какой шаг не так?

Ответы [ 2 ]

0 голосов
/ 04 марта 2020

Перед сборкой Android образа из AOSP вы должны выбрать цель сборки с помощью команды "lunch". Если вы собираете для устройства Google Pixel, которое использует процессор Qualcomm Snapdragon 8xx, вы должны пообедать, как показано ниже:

$ lunch aosp_arm64-eng

В этом случае выходное изображение должно содержать пакеты, включенные в build / target / products / gsi_common. mk

Конечно, вы должны попробовать

$ make installclean
$ make -j32 #may be -j16, -j8, etc. depends on your build host

, а затем снова проверить наличие приложения в выходном образе.

Если система все еще повреждена, не могли бы вы предоставить больше связанной информации (напр .: logcat)

0 голосов
/ 02 марта 2020

Добавление готового приложения в сборку

В AOSP root добавьте папку:

/ package / app /

Затем внутри этой папки добавьте:

empty Android.mk
< yourapp.apk >

Файл android make должен содержать ссылку на ваш apk, добавьте его в ваш Android .mk:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_MODULE := < your app folder name >

LOCAL_CERTIFICATE := < desired key >

LOCAL_SRC_FILES := < app apk filename >

LOCAL_MODULE_CLASS := APPS

LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)

include $(BUILD_PREBUILT)

Создайте запись в commons.mk (обычно в build / target / product) для вашего apk, добавьте строку (проверьте, где находятся все остальные)

PRODUCT_PACKAGES += < what you have defined in LOCAL_MODULE, it should be your app folder name >

Скомпилируйте AOSP, и вы найдете в системе установлено новое приложение.

Представленный выше Android .mk установит APK в / system / app

Если вы установите sh для установки APK в / system / приложение, вам нужно будет добавить следующую строку в Android .mk

LOCAL_PRIVILEGED_MODULE := true

Если вы хотите sh установить APK в / data / app, вам необходимо добавить следующую строку в Android .mk перед строкой включают $ (BUILD_PREBUILT)

LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)

Ссылка: Как добавить APK в сборку AOSP?

...