* Simple straitforward yaml serialization with minimal needed functionality
* Consolidate ApkInfo tests in the package brut.androlib.apk, unify interface YamlReader and add ApkInfoSerializationTest read -> write -> read test
* remove dependencies from snakeyaml
* remove unused methods
* correct indent test value
* correct style with curly braces
* add test item with hieroglyph
* fix: prevent over-reading config flags
* fix: properly read localeNumberingSystem
* test: adjust test for bcp47 aapt2 test
* fix: properly add 8 to 'read' on parser
* test: add test for aapt2 bcp47 tag
* test: add additional bcp47 test
* fix: handle numbering system parsing
* fix: add comment about localeNumber usage
* fix: prevent blowing out minSdkVersion
* fix: correct naming regression with apk name and sdk info
* chore: comment for why we double up minSdkVersion
* fix: deprecate compressionType
* test: assert apktool format isn't regressed
* Supports ASRC with null renamed package.
* Rework ASRC Chunk parser to a loop to break assumption of order of chunks
* Break out unknown skips for alignment to ResourceTypes.h
* Add verbose information for file skips
* Add test for protected apk sample
* Rework chunk parsing for StringBlock
* Refactor AXML Parser to support proper header reading
* Fix parsing if attribute size reported does not align to actual size
* extract AaptInvoker and rename MetaFile to ApkInfo, all decode methods from AndrolibResources moved to the ApkDecoder
* extract ARSCData and FlagsOffset from ARSCDecoder and remove unused imports
* rebase to master
* move decodeManifest and decodeResources to the ResourceDecoder
* remove commented old code
* added option to include permissive network security config file during build
* added tests for app with existing network config and for app without
* minor fixes for pull 2791
* refactor: slim down test app for network config
* style: remove extra newlines
* refactor: moved network tests to aapt2
* refactor: remove unused exceptions
* test (aapt2): ensure aapt2 is used for net-sec-conf
* fix (cli): block use of net-sec-conf on aapt1
* fix conflict
Co-authored-by: Connor Tumbleson <connor@sourcetoad.com>
Co-authored-by: Connor Tumbleson <connor.tumbleson@gmail.com>
* fix: enforce allowable classes during yaml parsing
* fix: rename class to reference escaping nature of strings
* test: assertion for parsing malicious yaml
If the decoding fails and there are UTF-8 decodable bytes before the bytes that couldn't be decoded, then the read index of the original buffer is incremented and those bytes will be missing from the decode result.
Now we create a new buffer and the decoding will start at the original start offset.
issue #2546
- when using aapt and debug flag, we remove the 'debuggable' attribute from AndroidManifest and aapt adds it back. (see issue 1621)
- when using aapt2 and debug flag, we add and set the value of 'debuggable' attribute ourselves.
* The empty test file needs to be STORED in the testapp, so put it on
the initial doNotCompress list.
* It needs to have a file extension that matches the NO_COMPRESS_PATTERN.
* assertNotSame tests for object equality, which doesn't work for String
comparisons.