Age | Commit message (Collapse) | Author |
|
In particular, this enables apexer to be used with a master-art source
tree, by using aapt2 from SDK prebuilts instead of building it, which
requires the following build dependencies (which are not part of the
master-art manifest):
- external/libpng
- external/robolectric-shadows
- frameworks/base
- frameworks/opt/setupwizard
Test: system/apex/apexer/runtests.sh on a master-art source tree
Bug: 113373927
Bug: 112458021
Change-Id: Ice7a2923a6113c73082b60da96621f92ca59cb09
|
|
Also added support for running from the build tree top.
Test: runtests.sh
Change-Id: I070fa4f73d64e5db66d363d680c4b7345055fdbb
|
|
f4f51ebeaf72b309679dd1e22724b53e322333aa in platform/external/avb
allows us to omit partitio name and size when adding hashtree and
footer. Take the advantage from it to eliminate the need to keep the
code for calculating the size opportunistically.
Bug: 113320014
Test: mma under system/apex/build
Change-Id: I65fa34d2a011a28e3316b247cb9eed13d40ed4f8
|
|
A new module type 'apex' is added to be able to build APEX bundles in
Soong.
Usage:
apex {
name: "com.android.awesome",
manifest: "manifest.json",
file_contexts: "file_contexts",
native_shared_lib_modules: ["libX", "libY"],
}
This will create /system/apex/com.android.awesome.apex having libX.so
and libY.so in it.
Right now, it lacks many of the planned features:
- APEX modules are now built against platform API, which should be against
stable APIs like NDK, Android API and API from other APEXs.
- Only native shared libs are supported. Executables, java libraries,
aidl_interfaces, and prebuilts should be supported.
- Inter-APEX dependency isn't supported yet.
- fs_config isn't configurable. All files and directories are set to
(uid/gid/mode) = (1000/1000/0644)
- native shared libs are stored unstripped.
Bug: 112672359
Test: m apex.test
Change-Id: I2e1a53a88c79653bcf33c1305baaf684428fcf6e
|
|
This reverts commit e396fce50149aa84aed5adc5136f54827d44661c.
Reason for revert: broke aosp_x86_64
Change-Id: I584be24644e68978e558d09327fce60b0ef3fc73
|
|
A new module type 'apex' is added to be able to build APEX bundles in
Soong.
Usage:
apex {
name: "com.android.awesome",
manifest: "manifest.json",
file_contexts: "file_contexts",
native_shared_lib_modules: ["libX", "libY"],
}
This will create /system/apex/com.android.awesome.apex having libX.so
and libY.so in it.
Right now, it lacks many of the planned features:
- APEX modules are now built against platform API, which should be against
stable APIs like NDK, Android API and API from other APEXs.
- Only native shared libs are supported. Executables, java libraries,
aidl_interfaces, and prebuilts should be supported.
- Inter-APEX dependency isn't supported yet.
- fs_config isn't configurable. All files and directories are set to
(uid/gid/mode) = (1000/1000/0644)
- native shared libs are stored unstripped.
Bug: 112672359
Test: m apex.test
Change-Id: Ifc44790a8f7de9307550edef0e4d70e9a78327f6
|
|
Even when passing '-L 0' to soong_zip, it can still decide to store
files as deflated (but without any actual compression). This in turn
throws off the zipalign tool, which doesn't align any compressed
files, eg:
$ zipalign -v -c 4096 apex.zip
Verifying alignment of apex.zip (4096)...
39 image.img (OK - compressed)
Instead, use the '-s' argument for soong_zip, to make sure the
files get stored without any compression.
This issue wasn't triggered earlier because deflation isn't used for
small files.
Test: tests pass, lare
Change-Id: Ic71aa70af09b6b54621bd2d3de721237112a1add
|
|
Package name together with version number fully identifies an APEX (and
thus APK).
Bug: 112458021
Test: runtests.sh
Change-Id: I3d3193bc6071bebd577858fffc617660cb555380
|
|
Test: runtests.sh
Change-Id: I52ed16592b43d336d5bdfcaae0d05f3aac91d8b8
|
|
The file system image in an APEX is now protected by dm-verity. The hash
tree and vbmeta descriptors, etc are appened to the file system using
the tool avbtool.
Testing-purpose public/private key pairs are also added to sign the
metadata.
Bug: 112458021
Test: ./runtests.sh
Change-Id: If32b99adaf2267e9b84a761c50fa3c7bc4854e2a
|
|
apexer now supports --canned_fs_config to set uid, gid, mode and
capability of files in the APEX.
The syntax of a canned_fs_config is as simple as
path uid gid mode [capability]
for each path.
Currently, uid, gid, and mode should be numeric, e.g., 100 200 0644,
symbolic names are not supported yet.
Note that when --canned_fs_config is specified, it must cover ALL
files in the APEX. Missing a file is an error.
Bug: 112458021
Test: runtests.sh
Change-Id: I73da91dfd0be2a12acc80d7e08127994fa49e073
|
|
add '--file_contexts' option to label files in the image.img in an APEX.
Bug: 112458021
Test: m -j
Test: runtests.sh
Change-Id: I6c96f2815560528fe89199c7efb88d553c245a8f
|
|
Use soong_zip to make file order, xattr, and timestamp in an apex to be
consistent.
Bug: 112458021
Test: runtests.sh
Change-Id: I2277285c687415747ee0ef224953b4ee0aa5e7d4
|
|
apexer is the tool for creating APEX files which are new package format
for system modules.
It packages a set of files under the input directory into a filesystem
image (ext4) which is then embedded to a zip file uncompressed. The
packaged files are accessible by mounting the embedded filesystem image
using the loopback device.
Bug: 112458021
Test: runtests.sh which creates an apex file from random contents and
ensures that the files inside the apex are identical to the input
Change-Id: I36a84a9dbf6b446bf23ea59110a225260cb4bbd1
|