6ee029dd30
Read extra data if over known bytes
...
If the ResConfig had a size over KNOWN_CONFIG_BYTES
then the remaining bytes would be read twice, thus breaking
the next config. Fixes #924
2015-05-22 09:07:15 -05:00
2c1226fab8
[skip] use append instead of concat
2015-05-22 08:47:51 -05:00
8254764c6c
More robust ResFileValue detection
...
Previously in 4882396163
, strings that
resembled a filepath (ie res/foo/file), would be assigned to a
ResFileValue, which when attempted to be casted to ResScalarValue would
error out.
Attempting to check the filesystem for such files, slowed apktool's
execution majorly. In order to prevent this, the ClassCastException
and other checks related to checking ResFileValue when type is string
was added.
This allows bogus strings such as (res/foo/file) to be added, but the
exception is caught and allows decoding to continues. Fixes #921 .
2015-05-14 13:27:22 -05:00
9cb3df85d8
Catch attr lookup on internal attributes
...
Internal attributes will fail the AttrDecoder. Catch the errors
and simply return the undecoded value which will be correct. Fixes #913
2015-05-10 07:36:44 -05:00
48285bde03
Prevent frameworks from modifying sharedLibrary
...
Since all frameworks are decoded the same via readPackage(), reading
a framework that was a sharedLibrary would throw the sharedLibrary
flag for the apk. Since packageName isn't set until after the first
decode, we check the values to make sure we only set this variable on
the first apk decoded. Refs #936
2015-05-05 07:43:48 -05:00
1fb87e3e4c
Post smali 2.0.6 cleanup
...
- fix smaliDecoder/AccessorTest to use new DexFileFactory params
- remove unneeded ds/tree files
- cleanup unmerged lines
2015-05-02 06:59:36 -05:00
c659df9dce
Correctly add version qualifier when decoding
...
- fixes #928
2015-04-29 07:49:02 -05:00
e407fe839b
Correctly rebuild /libs & /lib folder on [b]uild
2015-04-22 07:21:02 -05:00
960d111a1e
cleanup unit-tests to remove hacky renaming of control
2015-04-22 07:20:29 -05:00
14589e3593
If passed string isn't a reference, don't look for it.
2015-04-19 07:44:57 -05:00
5d405fa842
add a unit-test for provider attr changing
2015-04-18 08:44:25 -05:00
3208624bf6
Moves all XML parsing related functions to new class: ResXmlPatcher
2015-04-16 08:24:30 -05:00
addbf8336d
[WIP] Wires up rewriter of @string references in provider attrs
...
- finds all <providers> in manifest
- finds corresponding @string in res/values/strings.xml
- does reference replacement w/ literal value
- fixes #636
2015-04-16 08:24:30 -05:00
becaf754a9
[skip] use IOUtils.closeQuietly()
2015-04-16 08:20:18 -05:00
3cdd8243c7
Read res header completely
2015-04-16 08:14:57 -05:00
7326867b09
re-add copy() method using try-with-resources
2015-04-16 08:12:20 -05:00
10afb3cd56
Merge branch 'del_BrutIO_copy' of https://github.com/rover12421/Apktool into rover12421-del_BrutIO_copy
2015-04-16 08:03:44 -05:00
bb6cd98dfa
fix regression of lang qualifiers
...
- values-xx was improperly decoded as values-b+xx
- added unit test
2015-04-11 12:39:38 -05:00
da3b8c710d
cleanup messy logic for bcp qualifiers
2015-04-11 11:36:31 -05:00
a561a95542
Don't ignore multiple dex files when -s is used
...
- fixes #904
2015-04-04 08:09:07 -05:00
aee0792e00
Suppress overwriting platformBuildVersion[Code/Name]
...
- fixes #890
- introduces unit-test comparing manifest
2015-04-04 07:40:38 -05:00
ae15b2a7f7
fixes #900
...
- removes aapt test (no longer needed)
2015-04-02 08:15:39 -05:00
407ffdc5fe
remove BrutIO copy method
...
`copy` method already in IOUtils
2015-03-30 13:30:52 +08:00
39a2848340
Moving a couple utility functions into BrutIO. Also, formatting change to match spec.
2015-03-25 09:56:55 -07:00
472a02db41
Formatting for right-hand margin
2015-03-24 20:22:05 -07:00
628286c022
Java NIO doesn't allow the preservation of the compression method (STORED vs DEFLATED), so unfortunately we need to fall back to ZipEntry-based output for unknown files.
2015-03-24 20:14:05 -07:00
f3582b60db
buildUnknownFiles optimization
...
newFileSystem will file replication overhead
2015-03-18 09:15:26 +08:00
39fea5fa2c
[tests] add test for shared library rebuild
2015-03-14 08:20:18 -05:00
fac43a62b8
remove dependency on sharedLibrary in apktool.yml
2015-03-14 08:20:00 -05:00
0a74de4ab0
Shared Library Rebuilding Support
...
- handles references with shared resources
- adds support for --shared-lib
- update unit-tests
2015-03-14 08:04:33 -05:00
a766db9d50
update internal aapt to API 22
2015-03-12 17:44:22 -05:00
697de20454
update internal framework to API 22 (lollipop mr1)
2015-03-12 17:44:07 -05:00
40e75a0a39
[skip] sdk version (lollipop mr1)
2015-03-12 17:43:47 -05:00
2db8828efb
add support for TYPE_NULL
2015-03-12 17:43:17 -05:00
bbc6023068
gracefully handle apks that have strings that resemble filepaths
...
- ex string res/foo tries to map to resource res/foo
- looks for dot now, ie res/foo.xml
2015-03-06 17:04:43 -06:00
d9fda1feda
added additional unit-test, cleaned up spacing
2015-03-03 15:38:36 -06:00
5076612c87
Ampersand in "<" gets replaced with "&" in plural strings
2015-03-03 15:38:35 -06:00
07b43d687c
use BufferedInputStream for APK
...
faster xml escape function
2015-03-01 10:29:34 -06:00
4638c06de4
Merge pull request #100 from iBotPeaches/bcp47-support
...
[WIP] Initial support for BCP47 tags
2015-02-25 16:46:22 -06:00
ddb4f9770d
SPI are not 9patches
...
- skip these by copying raw
2015-02-24 12:36:43 +02:00
dc02abcf51
Add support for more BCP combinations
...
- region, variant, script & language combined
- 2 char language, 2 char region
- 2 char lang, 4 char script, 3 char variant
2015-02-21 16:48:48 -06:00
da347b22ba
[skip] remove unused import
2015-02-19 11:37:51 -06:00
505790fcfe
First Pass of BCP47 tests
...
- variant test
- script test
- 3 char packed test
- alone LTR test
2015-02-19 09:06:44 -06:00
db38c217ae
Update ResConfigFlags for BCP
...
- renamed country to region to match AOSP
- added support for values-xxx-rXX
- added support for BCP47
- default to BCP47 for values-xxx
2015-02-19 09:06:08 -06:00
d40710005f
Handle BCP additional fields (script & variant)
...
layoutDirection was being read in error. layoutDirection is read
via bit shifting over screenLayout (byte 32, 33)
The then removed layoutDirection freed up 2 bytes. This gave us
12 bytes of unknown space from byte 36 to 48. This corresponded
to localeScript[4] and localeVariant[8]
Adding proper support for those bytes fixed BCP support
2015-02-19 09:05:00 -06:00
af65dea319
Initial support for BCP47 tags
...
- needs script/variant support
- currently only region(s) supported
2015-02-17 11:48:39 -06:00
3f571bebef
Handles unreadable $HOME gracefully
...
- superseeds PR 98 (rscarvalho)
2015-02-12 08:18:53 -06:00
81e6af093b
Removes general access bit hack
...
- fixed in aosp: android_libcore/commit/25681be69e19a834b00cfbf54cd99ac13f12b9ff
- reverts 42f69fd745
- reverts 47a5eac0b0
- fixes googlecode issue 744
2015-01-21 07:12:26 -06:00
e281f81546
[skip] during info message, don't show apk build dir
2015-01-19 07:25:21 -06:00
20504d1338
Fix improper handling of MNC_ZERO
...
- add test
- patch ResConfigFlags
2014-12-30 06:08:23 -06:00