Je dois ajouter des fichiers APK tiers à ma version AOSP. Quel dossier dois-je conserver ces fichiers APK afin que lorsque je crée le code et que l'image soit créée, elle est installée dans l'émulateur?
Il semble que les applications système soient conservées dans le dossier packages/app, j'ai donc besoin de savoir où les fichiers APK tiers sont conservés.
Ajouter des fichiers APK tiers à la version est certainement possible.
Les APK et les APP avec le code source vont également au même endroit; les package/app
dossier.
Ajout d'un nouveau fichier APK à la version
Dans la racine AOSP, ajoutez le dossier:
<aosp root>/package/app/< yourappfolder >
Puis à l'intérieur de ce dossier ajoutez:
Android.mk
< yourapp.apk >
Le fichier Android make devrait avoir la référence à votre apk, ajoutez ceci à votre 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)
Créez une entrée dans le commons.mk
(généralement dans build/target/product
) pour votre apk ajoutez la ligne (vérifiez où se trouvent tous les autres)
PRODUCT_PACKAGES += < what you have defined in LOCAL_MODULE, it should be your app folder name >
Compilez l'AOSP et vous avez une toute nouvelle application installée sur le système.
L'Android.mk présenté ci-dessus installera l'APK dans/system/app
Si vous souhaitez installer l'APK dans/data/app, vous devrez ajouter la ligne suivante à Android.mk avant la ligne include $(BUILD_PREBUILT)
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)
Vous pouvez également effectuer les opérations suivantes dans le répertoire de sortie cible:
<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
À ce stade, vous pouvez apporter les modifications que vous souhaitez aux fichiers dans system_root, c'est-à-dire ajouter des apks au système/à l'application, etc.
Lorsque vous avez terminé, revenez au répertoire de sortie et faites:
Sudo umount system_root
<path-to-your-build-dir>/Host/linux-x86/bin/img2simg temp.img system.img
Vous pouvez maintenant flasher system.img en utilisant fastboot comme d'habitude.