Jak dodać pliki APK w kompilacji AOSP?

Muszę dodać kilka APK 3rd party do mojej kompilacji AOSP. W jakim folderze powinienem przechowywać te apki, aby po zbudowaniu kodu i utworzeniu obrazu został zainstalowany w emulatorze?

Wygląda na to, że aplikacje systemowe są przechowywane w folderze packages/app , więc muszę wiedzieć, gdzie przechowywane są aplikacje innych firm.

Author: Daniel Kaparunakis, 2012-05-14

3 answers

Dodawanie plików APK stron trzecich do kompilacji jest zdecydowanie możliwe.

Również apki i aplikacje z kodem źródłowym trafiają do tego samego miejsca; do folderu package/app.

Dodawanie nowego APK do kompilacji

W katalogu głównym AOSP Dodaj folder:

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

Następnie w tym folderze dodaj:

  • pusty Android.mk
  • < yourapp.apk >

Plik Android make powinien mieć odniesienie do twojego apk, dodaj to do 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)

Create an wpis w commons.mk (zwykle w build/target/product) dla Twojego apk dodaj linię (sprawdź, gdzie są wszystkie inne)

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

Skompiluj AOSP i masz zupełnie nową aplikację zainstalowaną w systemie.

 53
Author: Tiago Costa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-20 18:31:32

Możesz również wykonać następujące czynności w docelowym katalogu wyjściowym:

<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

W tym momencie możesz wprowadzić dowolne zmiany w plikach w system_root, tzn. dodać apk do system / app itp...

Kiedy skończysz, wróć do katalogu wyjściowego i wykonaj:

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

Możesz teraz flashować system.img za pomocą fastboot jak zwykle.

 3
Author: Justin Buser,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-26 17:33:33

The Android.mk przedstawione powyżej zainstaluje APK w /system / app

Jeśli chcesz zainstalować APK w / data / app, musisz dodać następującą linię do Android.mk before line include $(BUILD_PREBUILT)

LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)
 2
Author: user3913384,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-30 12:31:36