Commit Graph

93 Commits

Author SHA1 Message Date
Connor Tumbleson
e4db1fa8d6 Prevent closing objects that may not exist. 2017-05-04 17:53:54 -04:00
Connor Tumbleson
488b9d58dd
code style changes 2017-05-02 08:16:07 -04:00
Marc Miltenberger
66c1b46865 Closing Framework and APK after use
This commit should fix https://github.com/iBotPeaches/Apktool/issues/1160
2017-05-02 08:21:09 +02:00
Connor Tumbleson
891d0d39e0 Refactor ExtFile to brut.j.dir
- move to using Paths when possible
 - adapt calls to FileDirectory to leverage Paths
2016-12-25 07:57:41 -05:00
Connor Tumbleson
166bf508e2 Add "--no-version-vectors"
- fixes #1384
 - prevents aapt versioning vectors on rebuild
2016-12-23 09:11:43 -05:00
Connor Tumbleson
31d015fe37 Add new aapt binaries for macosx 2016-12-23 07:30:46 -05:00
Connor Tumbleson
dae52d3899
Add new aapt binaries
- 32/64 unix
 - windows
2016-12-22 09:06:25 -05:00
Connor Tumbleson
6361fa9725
Evolve Update-Framework to Empty Framework Directory
- allows emptying of framework via (empty-framework-dir)
 - checks in place to only delete files that are APKs, non recursive
2016-10-06 09:18:16 -04:00
Connor Tumbleson
daa1e1d753
Updating Framework Support 2016-10-06 07:21:10 -04:00
Connor Tumbleson
6e509695eb
Patch newest AndroResGuard format 2016-08-06 07:56:17 -04:00
Connor Tumbleson
ed7b094b02
move default framework location on windows/unix
- unix - $HOME/.local/share/apktool
 - windows - $HOME/AppData/Local/apktool
 - #1277
2016-06-21 08:03:00 -04:00
Connor Tumbleson
47dd120b38 Prevents package renaming of Adobe AIR applications
- fixes #1240
2016-05-04 08:04:28 -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
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
ea2c821fa5 Add support for AndResGuard
- fixes #1170
2016-03-10 09:29:49 -05:00
Connor Tumbleson
cd852cd658 Removes SmaliDebugging
- fixes #1061
2016-02-27 20:20:53 -05: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
zoujunhua
c30261bd15 add "flyme" to list of ignored renamed packages 2015-10-16 16:02:02 +08:00
Andrew Grieve
392420c909 Adds doNotCompress list to apktool.yml
This is the list of files (resources, assets, etc) that are stored in
the .apk uncompressed.

For apps that use AssetFileDescriptor.openFd(), the adding compression
will break the call.

Maintains support for the resourcesAreCompressed key, but no longer
records it when decompiling (it instead records resources.arsc in the
doNotCompress list).
2015-08-14 11:52:33 -04:00
Connor Tumbleson
d5f3b3fd5a [skip] its com.miui.core now 2015-06-29 11:33:13 -05:00
Connor Tumbleson
b878cbd776 [miui] add a new ignored package 2015-06-06 10:43:48 -05:00
Connor Tumbleson
3208624bf6 Moves all XML parsing related functions to new class: ResXmlPatcher 2015-04-16 08:24:30 -05:00
Connor Tumbleson
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
Connor Tumbleson
becaf754a9 [skip] use IOUtils.closeQuietly() 2015-04-16 08:20:18 -05:00
Connor Tumbleson
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
thuxnder
07b43d687c use BufferedInputStream for APK
faster xml escape function
2015-03-01 10:29:34 -06:00
Connor Tumbleson
3f571bebef Handles unreadable $HOME gracefully
- superseeds PR 98 (rscarvalho)
2015-02-12 08:18:53 -06:00
Connor Tumbleson
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
Connor Tumbleson
4882396163 Prevent casting strings that resemble filepaths to ResFileValues
- add testcase
 - adapt changes
 - introduce decodeManifestWithResources which uses attr decoding w/ resources
2014-12-26 08:08:50 -06:00
Connor Tumbleson
40fdfc50a1 Options Cleanup
- remove ugly Hashmap passing
 - create ApkOptions
 - refactor based on ApkOptions
2014-11-01 21:07:02 -05:00
Connor Tumbleson
9031c22365 [skip] update all copyrights to 2014 2014-10-23 18:14:48 -05:00
Connor Tumbleson
76bf5ead25 Handle renamed manifests with "yi"
- issue 682
2014-10-05 12:33:47 -05:00
Connor Tumbleson
ce3c37c6ab Handle ARSC files with multiple ResPackages
- superseeds - 68c1809a48
2014-10-03 11:31:43 -05:00
Connor Tumbleson
6138d26335 prevent execution if file is named same as apktool framework folder 2014-09-23 08:32:04 -05:00
Connor Tumbleson
7b0ba28a43 [skip] code style 2014-09-23 08:24:45 -05:00
Connor Tumbleson
49b6bf70e4 [skip] check result of .setExecutable() 2014-09-23 07:56:28 -05:00
Connor Tumbleson
3d2e935f08 [skip] cs fixes 2014-08-16 10:17:15 -05:00
Connor Tumbleson
584d1cda18 ignore "com.lge.internal" 2014-05-18 06:48:01 -05:00
Connor Tumbleson
b53101f69e adds support for ignoring "com.lge"
-- fixes issue 630
2014-05-08 15:08:40 -05:00
Connor Tumbleson
25e9ed7281 add more modular support for renamed packages
-- There is no "set" rules for renaming a manifest, so we must adapt to patterns. There are some apks that have original package names as "android", "miui", "com.htc", etc. These are not meant for renaming, but exist to align that apk to a specific OEM framework system. (EX HTC system apks have a package id of com.htc). However, this pattern isn't true when framework apks are involved, as the intended behavior is to rename the package from xxx to com.htc (as an example).

-- We solve this by first identifying the active package via the packageId instead of package with most ResSpecs (we fall back on that though)
-- then with two hardcoded arrays of UNKNOWN_PACKAGES and ALLOWED_PACKAGES
2014-03-19 16:23:45 -05:00
Connor Tumbleson
1e3b66f9be adds "miui", "android" and "com.htc" to list of ignored renamed packages. 2014-03-09 17:47:43 -05:00
Connor Tumbleson
501a6df677 only store renamed-manifest-package if the apk requires the change 2014-01-07 15:06:45 -06:00
Connor Tumbleson
f6a61ba1b4 rename variables to help user understand, remove unneeded ones 2014-01-07 13:08:48 -06:00
Connor Tumbleson
e254cec648 rework manifest renaming
Issue #526, correctly handles apks where a renamed package is required, by comparing the package name present
in AndroidManifest.xml and resources.arsc. If different, we take the package name present
in resources.arsc (original) and replace it in the <manifest> tag of AndroidManifest.xml. The previous value in
AndroidManifest.xml (renamed) becomes the value to be passed to aapt on rebuild via --rename-manifest-package

Both these values along with the package id of the original are stored in apktool.yml, for use during the
rebuild
2014-01-07 10:59:37 -06:00
Connor Tumbleson
d2fc74d984 remove jre7 code from testing class, added comments for manifest changing 2013-11-15 13:07:07 -06:00
Connor Tumbleson
8d0801e6db cleanup document related functions 2013-11-15 12:08:21 -06:00
Connor Tumbleson
87e39c4bb9 add todo 2013-10-12 15:44:47 -05:00