This change add cache in generated jave code to improve the performance.
The cache is a DeviceConfig.Properties. One Properties contains all
flag values from the given namesapce.
The Properties for a given namespace is initialized as null, and the
first call for any flags in that Properties will trigger the call to
fetch all the values. After the first call, the flag values are stored
in the Properties, so the following calls will directly get the value
from the Properties instead from the backup storage.
Test: atest aconfig.test.java
Bug: 307511846
Change-Id: Ic43626101c28099199b6faa419cf1945bd53b15d
When target specified a prebuilt boot.img, current build system will add
avb hash footer to it with a random salt. Use a deterministic salt
instead for more reproducible builds. To stay consistent with
non-prebuilt boot.img code path, we extract the kernel image from
prebuilt boot.img and uses sha256sum of kernel image as the salt.
Test: th
Bug: 293313353
Change-Id: I988999ddc4f18e0b8677b05a3165c847b6a11b52
Setting logging level to 'NOTSET' would tell logging module to inherit
logging level from handlers. Since the verbosity of handlers is
controlled by -v option, this allows sign_apex.py to give verbose output
if -v is specified.
Test: th
Bug: 307191956
Change-Id: I9c1db107cf4eae80ab570d892b0465b3902298fd
Change local override list name to "ACONFIG_VALUES_LIST_LOCAL".
Bug: 298692416
Test: source build/envsetup.sh && overrideflags, and then check the
output
Change-Id: I6c2b8dcf6291a1fd7012e714fa91ca6bf0b47cf2
Add a script to help to create flag value building rules.
The script will only extract necessary information from the value file
but it will not validate the file. The validation will defer to building
system.
For input
```
flag_value {
package: "com.android.aconfig.test"
name: "disabled_ro"
state: DISABLED
permission: READ_ONLY
}
flag_value {
package: "com.android.demoapp.test"
name: "enabled_ro"
state: DISABLED
permission: READ_WRITE
}
flag_value {
package: "com.android.aconfig.test"
name: "enabled_rw"
state: ENABLED
permission: READ_WRITE
}
```
The output Android.bp file will be like
```
VALUE_LIST_LIST = [
aconfig-local-com.android.demoapp.test,
aconfig-local-com.android.aconfig.test
]
aconfig_values {
name: "aconfig-local-com.android.demoapp.test",
package: "com.android.demoapp.test",
srcs: [
"override_values.textproto",
]
}
aconfig_values {
name: "aconfig-local-com.android.aconfig.test",
package: "com.android.aconfig.test",
srcs: [
"override_values.textproto",
]
}
```
Bug: 298692416
Test: source build/envsetup.sh && overrideflags, and then check the
output
Change-Id: Ife4063e079811e0b29046be7a6bc127cad668ed0
The page agnostic targets have to support 4k/16k page sizes. For
these targets, the APKs have to be aligned at 16k boundaries.
Bug: 302343940
Test: source build/envsetup.sh
lunch aosp_cf_arm64_phone_pgagnostic
m
launch_cvd -userdata_format=ext4
Change-Id: Ia0e39a90c0d6a3e62d450157fdfd5e3ee36d346e
This change allows us to specify erofs filesystem block size
which will be used to create erofs image.
Either it can be specified at board level using
BOARD_EROFS_BLOCKSIZE. Or per read only partition image
using BOARD_<PARTITION>IMAGE_EROFS_BLOCKSIZE.
Examples:
BOARD_EROFS_BLOCKSIZE := 16384 OR
BOARD_PRODUCTIMAGE_EROFS_BLOCKSIZE := 16384
Bug: 303316443
Test: m and file ${ANDROID_PRODUCT_OUT}/*.img
Change-Id: I9bf3d299ae02165d0bffc62f474a302408d8b9b9
Signed-off-by: Sandeep Dhavale <dhavale@google.com>
Bug: 303082945
Test: CIs
Test: "m dev_sign_bundle" on internal udc branch and check zip2zip is built too.
Change-Id: Iad5aa401de39516876714c854dc07aeba2f234e5
Bazel currently can't build core_platform yet and needs this lib to
build some java_aconfig_library.
Bug: 305255550
Test: CI
Change-Id: Ic94efe7888e35099618e2fdbbbb481168ed2bcf2
Add all AB partitions to img.zip, so that we can verify integrity of a
build by running avbtool on img.zip .
Bug: 274923679
Test: img_from_target_files on a pixel build. Unzip the generated img
zip, run avbtool verify_image --follow_chain_partitions --image
vbmeta.img, make sure result is successful.
Change-Id: I7d586a6f2ad87d8ebf87b788947055339b1121a2
The java generated flags are marked as @hide which breaks CTS. To
unblock CTS test add @UnsupportedAppUsage to expose the methods.
Test: atest aconfig.test.flags
Bug: 301272559
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:64ad75f50ae96f9a8b57a9e8f88ae9a53d3c1044)
Merged-In: I897573c054e70fc6e093869ba6d416c38f81e28f
Change-Id: I897573c054e70fc6e093869ba6d416c38f81e28f
Include the file path and first bytes of file in the error message in
case aconfig fails to parse one of the protobuf files.
Example output:
$ adb shell printflags
Error: failed to parse /vendor/etc/aconfig_flags.pb ([0a], 1 byte(s))
Caused by:
Unexpected EOF
Bug: 304278614
Test: atest printflags.test
Change-Id: I18ff88bd25d72dd477c4b11a32505e75884906ee
During OTA generation, we check the vabc compression param specified by
target files, and override compression param to gz if the specified
compression method is unsupported. Run the same validation on
compression param passed by --vabc_compression_param as well.
Test: th
Change-Id: If855a2ee8c3c280c74efd5a67df229ab6c5709c5
Add an `--avb-resolve-rollback-index-location-conflict`
option in merge_target_files. When this option is set,
the merge tool will resolve conflicting index locations
by assigning the smallest unused index location.
This is to support merging system and vendor target files
from two different targets. In this case, the two target
files may have conflict rollback index location because
they were built independently.
Test: atest releasetools_test
Test: validate_target_files *-target_files-*.zip
Test: merge_target_files &&
add_img_to_target_files &&
img_from_target_files &&
flash device
Bug: 300604688
Change-Id: Ibd18ef2a9f3784157fe17966f5364c3c81c9bd9f
avbtool by default generates a random salt everytime, this makes builds
less reproducible. Use sha256 checksum of kernel image as the hex to
make the build reproducible.
Test: th
Bug: 293313353
Change-Id: I959b3dee77654098ab9fde475f11eaee8d40c790