Add prebuilt APKs to Android AOSP system.img
Asked Answered
K

4

15

I'm building AOSP from source. What I would like to do is to include a few prebuilt files in the generated system.img as part of the make process. I'm trying to find the actual file that creates the system.img and add a few lines there. Any idea?

Thank you in advance.

Kitty answered 5/12, 2011 at 15:15 Comment(2)
O
11

A good way of adding custom files to the system.img is to add them under vendor/your_name/product_you_want_to_add_them/proprietary/your_files_go_here and add a custom make file called device-product_name.mk.

After that's done, just define which files are to be copied from the proprietary folder and inside (e.g. vendor/samsung/crespo/device-vendor.mk add to call your device make file).

Orthochromatic answered 18/5, 2012 at 14:59 Comment(0)
B
7

Just put your source code to the Packages/apps directory,then make sure your project has a correct make file like other project in the apps directory.You will make the package prebuilt after finish the android build.

Buhl answered 6/12, 2011 at 6:24 Comment(4)
This will work with source I have, but I need it for prebuilt apk files. Any idea?Kitty
You mean you have a apk without the source? I found some info in the build/core/build-system.html How to add another component to the build - Android.mk templates You have a new library, a new app, or a new executable. For each of the common types of modules, there is a corresponding file in the templates directory. But i do not found this directory in my source code, hope this will help you.Buhl
Basically, I'm trying to add the google framework to the emulator I'm building. It works perfectly when I'm adding it myself after the build, but then it's too late to add it to the system.img.Kitty
Adding google framework to emulator?I was confused. Anyway, if you just want a APK to be prebuilt, you can sign the APK with the system sign key**(I'm not sure that when execute make snod whether signing will be done automatically. ) ,then put it in the **out/target/product/system/app, finally, excute make snod.Buhl
T
2

To add a prebuilt file to a build, find a .mk file which makes sense for your project and add the file under PRODUCT_COPY_FILE. It looks like this

 PRODUCT_COPY_FILE += your/build/tree/$FILE:path/to/location/on/device/$FILE

Using a separate vendor tree is following good domain-driven principles...but is perhaps overkill for a single binary. Examine the makefiles you already use, there is often prebuilt apks already being added that you can piggyback on. device and existing vendor trees are good places to start looking. Maintaining an entirely new project is not something to be taken lightly, in my opinion.

Tuberosity answered 7/8, 2013 at 1:11 Comment(0)
J
0

If you want to add programs in the system.img, go to the vendor, then go to the operator, then go the app and enter the files inside the app If you use the roms modification program, the program name is rom helper, it modifies prmission to 0755, and it modifies UserID 2000, thus adding the apk to rom

Jezreel answered 12/7, 2020 at 21:47 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.