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

Мне нужно добавить сторонние APK в мою сборку AOSP. В какой папке я должен хранить эти APK, чтобы при сборке кода и создании образа он устанавливался в эмуляторе?

Похоже, системные приложения хранятся вpackages/app папку, поэтому мне нужно знать, где хранятся сторонние APK.

 Cameron Martin01 июл. 2016 г., 12:03
Возможный дубликатAdd prebuilt APKs to Android AOSP system.img

Ответы на вопрос(3)

<path-to-your-build-dir>/host/linux-x86/bin/simg2img system.img temp.img
mkdir system_root
sudo mount -t ext4 -o loop temp.img system_root

На этом этапе вы можете вносить любые изменения, которые вам нравятся, в файлы в system_root, то есть добавлять apks в system / app и т. Д.

Когда вы закончите, просто вернитесь к выходному каталогу и выполните:

sudo umount system_root
<path-to-your-build-dir>/host/linux-x86/bin/img2simg temp.img system.img

Теперь вы можете прошить system.img, используя fastboot как обычно.

 26 янв. 2013 г., 18:46
Это намного ближе, но не совсем ответ на конкретный вопрос, который задают, поскольку этот метод представляет собой модификацию образа после сборки, а не способ включения процесса сборки в приложения. Тем не менее, это может быть, по крайней мере, по сценарию.

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

LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)
Решение Вопроса

Также APK и APP с исходным кодом идут туда же;package/app папка.

Adding a new APK to the build

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

<aosp root>/package/app/< yourappfolder >

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

empty Android.mk < yourapp.apk >

Файл Android должен иметь ссылку на ваш 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, и в системе будет установлено новое приложение.

 09 апр. 2015 г., 09:39
@Tiago: что будет LOCAL_CERTIFICATE: = & lt; желаемый ключ & gt ;. не могли бы вы очистить это.
 06 июн. 2018 г., 04:34
@HyperionX использовать core.mk
 01 июл. 2016 г., 11:48
@Raj, видимо, вы также можете использоватьpresigned значение:groups.google.com/forum/#!topic/android-building/i4oaJ2DtadM
 12 дек. 2013 г., 18:37
Спасибо. Я устал от всех постов на кухне ROM, которые я вижу.
 07 окт. 2015 г., 22:27
@TiagoCosta Знаете ли вы, что вы должны добавить, чтобы сделать то же самое для системного привилегированного приложения? Это то, что должно быть в system / priv-app? Я разместил вопросstackoverflow.com/questions/32997233/…

Ваш ответ на вопрос