Commit Graph

374 Commits

Author SHA1 Message Date
Connor Tumbleson
87315af36e Remove previous android:debuggable value to allow changing
- adds unit test
 - normalizeNewlines moved to TestUtils
2016-04-28 08:31:36 -04:00
Benjamin Dobell
032a3e5e25 Reinstate minimalistic debug option to inject android:debuggable with aapt 2016-04-28 08:21:21 -04:00
Connor Tumbleson
8689991626 clear /apktool/framework/1.apk in between tests 2016-04-27 07:37:14 -04:00
Connor Tumbleson
d05dc3296a update tests for new internal framework 2016-04-23 15:12:21 -04:00
Connor Tumbleson
2792b05b9d Merge branch 'BurgerZ-patch-6' 2016-04-23 14:41:04 -04:00
Connor Tumbleson
27e92ebbfb add AndroidManifest into internal framework 2016-04-23 14:40:56 -04:00
Andrei Zhukouski
513e4b752b Copy AndroidManifest.xml
Copy AndroidManifest.xml along with resources.arsc from the framework apk file instead of creating the fake entry.
2016-04-22 08:32:42 +03:00
Andrei Zhukouski
2ec2fe817a Fix typo 2016-04-17 15:02:38 +03:00
Andrei Zhukouski
6e065f15a0 Support of official aapt
Create fake AndroidManifest.xml file inside each installed framework file to support official aapt from Google.
2016-04-17 14:48:51 +03:00
Connor Tumbleson
639ac84edb Dont fallback to HighestResSpec Package if only 1 main package
- fixes #1220
2016-04-11 07:05:00 -04:00
Connor Tumbleson
f2f099a97b Merge branch 'master' of https://github.com/mattsarett/Apktool into mattsarett-master 2016-03-24 08:14:32 -04:00
Connor Tumbleson
fc43ec2470 unit test to check image color of 9patch 2016-03-24 08:14:20 -04:00
Chirayu Desai
26b60364fb Replace little endian data input stream implementation
* Drop LEDataInputStream (which had a restrictive license)
  with LittleEndianDataInputStream, which is public domain.

A minor change has been made to the new class, removing
the interitance of InputStream.
This makes it's behaviour indentical to the previous implementation,
and unit tests pass.

Fixes #1166
Source: http://www.peterfranza.com/2008/09/26/little-endian-input-stream/
2016-03-23 19:58:16 +05:30
Connor Tumbleson
ea2c821fa5 Add support for AndResGuard
- fixes #1170
2016-03-10 09:29:49 -05:00
Connor Tumbleson
ee8e9cea3d cleanup from removal of smali-debugging 2016-03-10 09:29:05 -05:00
Dave Nault
2f1326c6ca #1186 Performance: usage of String.format in ARSCDecoder.addMissingResSpecs
Reduces the time it takes to parse the Android framework by ~50%.

The synthesized name now has no leading zeroes, but this doesn't appear to matter since the numeric part of the name isn't used anywhere.
2016-03-07 11:33:07 -08:00
Matt Sarett
4f5cc1b903 Removing spaces 2016-03-04 11:27:19 -05:00
Matt Sarett
ae6f8083f1 Fix bug reencoding 9patch pngs
Fixes issue 1180.
https://github.com/iBotPeaches/Apktool/issues/1180
2016-03-03 18:17:11 -05:00
Connor Tumbleson
eabedeb211 remove unused file 2016-02-27 20:56:14 -05:00
Connor Tumbleson
cd852cd658 Removes SmaliDebugging
- fixes #1061
2016-02-27 20:20:53 -05:00
Connor Tumbleson
52e9e8a4d7 fix spacing & change warning message to use LOGGER 2016-02-16 08:18:26 -05:00
Christopher R. Palmer
4a02f5321c decoder: Extend "keep-broken-res" to also ignore duplicate resources 2016-02-15 11:13:49 -05:00
Connor Tumbleson
b29df52b87 Cleanup unclosed streams plus formatting
- run FindBugs to find problems
2016-02-14 20:34:06 -05:00
Connor Tumbleson
f3e21023ac Prefix integers only exceeding 9 digits to treat as string
- This prevents small numbers like "1" to become "\ 1"
 - added unit tests
 - fixes #1130
2016-02-10 08:05:54 -05:00
Connor Tumbleson
e82ef1034a actually run issue 1063 unit test 2016-02-10 07:54:58 -05:00
Connor Tumbleson
fd579747a8 license additions and reverting non-needed changes 2016-01-22 07:17:07 -06:00
Rover12421
123912d226 Apktool.yml file (MetaInfo) using object serialization
non-printable character more intuitive, does not affect printable
character view
2016-01-22 06:28:03 -06:00
Connor Tumbleson
81404c8904 close streams that needed closing (fixes #1143) 2016-01-22 06:27:23 -06:00
Connor Tumbleson
d5ca4c12a1 fix #1123
- correctly handles @null in xml
 - added unit test
2016-01-22 06:07:49 -06:00
Connor Tumbleson
0011498b52 [skip] rename var to match extension or file without extension 2016-01-06 12:49:55 -06:00
Andrei Zhukouski
22bd5b0acc Fixes issue #1122 2016-01-04 13:15:54 +03:00
Ira Hanson
09525bf657 Change non-printable character for Windows compatibility 2016-01-03 16:51:29 -06:00
Ira Hanson
719553aef0 Test APKs with non-printable characters in filenames 2016-01-03 13:35:54 -06:00
Ira Hanson
8232ee0ea8 Consistently encode unknown filenames to prevent cast error 2016-01-02 21:40:15 -06:00
Connor Tumbleson
13b39903d2 empty or null values should not be matched 2015-12-26 06:59:57 -05:00
Connor Tumbleson
f9323943db Handle Dexguard key names
- Temporarily replace with dummy value names till research is completed
 - allows decode
2015-12-26 06:59:43 -05:00
Connor Tumbleson
a8a9c40a7b add ResBoolValue to Style check 2015-12-26 06:58:39 -05:00
Connor Tumbleson
9618ce9759 [skip] code spacing, right margin is 120 chars 2015-12-18 11:31:43 -06:00
Connor Tumbleson
ba7393d705 Fixes #767
Handles large int values in AndroidManifest.xml, by prefixing
with `\ ` which aapt treats a string. This prevents truncation
from overflow.

Superseeds PR#1007 - thanks to gio73 for initial research &
MarchMil for continued investigation.
2015-12-18 11:30:28 -06:00
Connor Tumbleson
e5ac340cab [ci skip] minor spacing change 2015-12-18 09:46:28 -06:00
Connor Tumbleson
831765665f Handling empty (null) values again 2015-12-14 11:35:15 -06:00
Connor Tumbleson
b2d50bec5f [skip] code style cleanup 2015-12-14 07:10:14 -06:00
Connor Tumbleson
eabb7d819b Correctly read sparse ResourceTables.
Prior to this change, APKs usually went Package -> TypeSpec -> Config (all) -> Entries.
Reading all configs under that TypeSpec. Now we have packages that go
Package -> TypeSpec -> Config (single) -> Entries.

So we have to read this correctly to make sure we can correctly decode sparse and packed
Resource tables.
2015-12-14 07:03:09 -06:00
Connor Tumbleson
7e803aeac9 Gracefully handle null values 2015-12-14 07:00:46 -06:00
Connor Tumbleson
be4bdf1d75 Adds support for DATA_NULL_EMPTY 2015-12-14 07:00:12 -06:00
Connor Tumbleson
6c4167fba4 Fixes #1099
- Moves Config --> Type
 - Moves Type -> TypeSpec
 - ResType -> ResTypeSpec
 - ResConfig -> ResType

 This is to match AOSP and ease the transitions/updates of new AOSP drops
2015-12-07 20:48:57 -06:00
Connor Tumbleson
1e5dc3006e Add headerSize & chunkSize to Header class 2015-12-07 07:34:56 -06:00
Connor Tumbleson
af2f54245b [skip] remove confusing logic 2015-12-03 07:57:12 -06:00
Connor Tumbleson
8374839427 MNC, noticed recently in API 23, is no longer 0 padded. So mnc001 is now mnc1
- Frameworks between froyo and honeycomb have mnc001, etc
 - A size check of ResConfig header for less than 32 (honeycomb) uses old decode method
 - Greater than 32 bytes moves to new decode method of mnc# vs mnc###
2015-12-01 08:48:31 -06:00
Rover12421
6f617db53f set readConfigFlags read default value to 28
fix if size == 28, remainingSize error.
2015-11-17 14:31:17 +08:00