I need to add some 3rd party APKs to my AOSP build. What folder should I keep these APKs so that when I build the code and the image is created, it is installed in the emulator?
It looks like the system apps are kept in the packages/app folder so I need to know where the third party APKs are kept.
Just open your browser, find the APK file you want to download, and tap it – you should then be able to see it downloading on the top bar of your device. Once it's downloaded, open Downloads, tap on the APK file and tap Yes when prompted. The app will begin installing on your device.
If your phone's web browser doesn't give you the option to open the file after downloading, open your file explorer app, go to the Downloads folder on your device, then tap the APK file. Allow the app any required permissions it asks for. Then, at the bottom of the installer window, tap Install.
On your device, tap Settings > Apps. Tap Special access > Install unknown apps. Tap the browser from where you will download the APK, such as Chrome. If prompted, toggle Allow from this source on.
Adding third party APKs to the build is definitely possible.
Also APKs and APPs with source code go to the same place; the package/app
folder.
Adding a new APK to the build
In the AOSP root add the folder:
<aosp root>/package/app/< yourappfolder >
Then inside this folder add:
Android.mk
< yourapp.apk >
The android make file should have the reference to your apk, add this to your 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 entry in the commons.mk
(from AOSP 8.1.0 onwards it is called core.mk
, and is usually found in build/target/product
) for your apk add the line (check where all the others are)
PRODUCT_PACKAGES += < what you have defined in LOCAL_MODULE, it should be your app folder name >
Compile the AOSP and you have a brand new app installed on the system.
Notes
PRESIGNED
as value for LOCAL_CERTIFICATE
/data/app/
directory, add the line LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)
before the line include $(BUILD_PREBUILT)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With