sv99
9d7d58016e
ApkDecoder use apkFile and unknownFiles from ApkInfo ( #3242 )
2023-08-01 06:57:22 -04:00
Igor Eisberg
33ca2929c9
refactor: clean up style and redundancy ( #3232 )
...
* refactor: clean up redundancy
* refactor: no need for both setApkFile and setApkFileName
2023-07-29 18:56:27 -04:00
sv99
62b9eedb9e
Remove SnakeYAML for manual YAML Parser ( #3191 )
...
* 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
2023-07-29 05:59:15 -04:00
sv99
7a4a20ba34
Support explicit operation for when to load full resource table ( #3217 )
2023-07-25 06:18:13 -04:00
Connor Tumbleson
54836509ed
fix: correct detection of sparse/not-sparse applications ( #3201 )
...
* test: add failing/passing sparse/not-sparse test
* fix: replace sparse/not applications w/ official sample
-ref: c8f71aa67e
* fix: properly detect sparse applications during disassembly
* refactor: remove check on bool set for sparse resources
2023-07-23 11:20:12 -04:00
Igor Eisberg
261003316e
fix: add missing hasResources check ( #3182 )
2023-07-20 11:40:16 -04:00
Connor Tumbleson
ca07a0a56c
Fix regressions towards apktool.yml generation ( #3172 )
...
* 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
2023-07-20 05:37:46 -04:00
Connor Tumbleson
f42ce82f0d
style: cleanup formatting from ApkInvoker introduction
2023-07-03 18:46:47 -04:00
sv99
a7e2e3e5e1
Extract into ApkInvoker and split into data classes. ( #3124 )
...
* 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
2023-07-03 18:38:52 -04:00
sv99
5cd94d6aa0
refactor Apkecoder - streamline decode procedure ( #3109 )
2023-06-28 21:02:46 +00:00
sv99
85a710f77a
refactor class ApkDecoder ( #3106 )
2023-06-28 06:13:22 -04:00
sv99
9c495cae29
Move build functions from Androlib to the ApkBuilder ( #3103 )
2023-06-27 08:25:27 -04:00
Connor Tumbleson
10495cbe96
Refactor into common config object. ( #3100 )
...
* extract Config
* extract Config
* style: linting
---------
Co-authored-by: Slava Volkov <sv99@inbox.ru>
2023-06-25 15:07:23 -04:00
sv99
168aa1abc0
move AndrolidExceptions to the package brut.androlib.exceptions (renamed from brut.androlib.err) ( #3088 )
2023-06-10 13:16:31 -04:00
Connor Tumbleson
07d15e8200
Squashed commit of the following:
...
commit 66a7167079caafd2e805dcd9e3dd1a883b92493b
Author: Connor Tumbleson <connor.tumbleson@gmail.com>
Date: Wed Nov 9 06:02:23 2022 -0500
refactor: add message when pairing --only-main-classes w/ --no-src
commit 565a4dbe33e69e0da775ad8678a29fd7e117fe3c
Author: surendrajat <surendrajat@protonmail.com>
Date: Wed Nov 9 12:12:28 2022 +0530
fix: --no-src should take precedence over --only-main-classes
2022-11-09 06:03:44 -05:00
Connor Tumbleson
3b179f8750
refactor: rename ApkOptions -> Options/BuildOptions
2021-09-06 06:59:30 -04:00
Goooler
94ed86db28
Code cleanups
2021-08-27 01:16:46 +08:00
Goooler
e25c3636ff
Update docs & licenses to use https
2021-08-26 07:40:32 -04:00
IgorEisberg
6cfa79e456
Determine minSdkVersion with baksmali for JARs + don't compress webp
...
We take advantage of the fact that baksmali can determine the minimum API version needed for a given collection of opcodes and extract it, then save to mMinSdkVersion, which is only used by smali via buildSourcesSmali.
This change, in addition to my previous change, allows to decompile and recompile JARs without worrying about specifying an API version via -api/--api-level.
As an extra, added webp file extension to NO_COMPRESS_PATTERN, according to AAPT2 standards, and since it's factually never compresses as it's an already compressed format.
https://cs.android.com/android/platform/superproject/+/master:frameworks/base/tools/aapt2/cmd/Link.cpp;l=2328
2021-07-04 02:14:56 +03:00
IgorEisberg
1ed1076a84
correction: don't clear resource table if it was already loaded
2021-07-04 00:16:22 +03:00
IgorEisberg
83f9693633
clean: get rid of useless throws
2021-07-03 23:15:10 +03:00
IgorEisberg
1472b50541
fix: pass opcodes=null for baksmali to auto-determine by dex version
...
When DexBackedDexFile gets opcodes==null, it calls getDefaultOpcodes(dexVersion) which returns the appropriate opcodes for the given dex version. No hints are required for baksmali, but only needed for smali.
https://github.com/JesusFreke/smali/blob/master/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedDexFile.java#L83
2021-07-03 23:05:04 +03:00
IgorEisberg
204b742cf0
Avoid abuse of getResTable calls and unneeded checks
2021-07-03 22:46:11 +03:00
IgorEisberg
1fd3f52b9d
clean: setTargetSdkVersion used before manifest was decoded
2021-07-03 22:35:59 +03:00
IgorEisberg
992de66bac
Handle setAnalysisMode properly
2021-07-03 22:17:00 +03:00
IgorEisberg
bb42159880
style: rename vars for consistency
2021-07-03 21:26:16 +03:00
Connor Tumbleson
f4c2f9bc50
fix: remove declared exceptions that aren't thrown
2021-03-12 07:47:19 -05:00
Connor Tumbleson
447ba50332
refactor: drop author tags and support javadocs
2021-03-07 15:06:45 -05:00
Connor Tumbleson
35a4bd6718
style: re-org exceptions to have suffix ( #2400 )
...
* style: re-org exceptions to have suffix
* fix: add missing exception for ResResSpec
2020-09-13 08:40:03 -04:00
Connor Tumbleson
3f831c8221
refactor: copyright year should be year started, not current year
2020-04-11 06:33:05 -04:00
Frieder Bluemle
81ca785e02
Fix file header comment format
2020-02-29 17:37:46 -08:00
Daniel Malmqvist
d79724549c
Added new option to skip non classes[0-9]*.dex files
2019-07-14 07:17:20 -04:00
Connor Tumbleson
25a1cb02ef
fix: License 2019 update
2019-07-13 12:19:41 -04:00
Igor Eisberg
400a463286
Fix APKs with SDK versions being reference values
...
This non-standard behavior is rare, but quite annoying.
The solution is simple - replacing the reference value with the actual value from integers.xml, just like Apktool already does for versionName.
2019-02-20 08:26:17 -05:00
Connor Tumbleson
4d89228686
Revert "decode: store uncompressed assets to new property"
...
This reverts commit 14eedde165623e0f28bad036b3ce8af883a0a635.
2018-04-06 14:58:42 -04:00
Connor Tumbleson
14eedde165
decode: store uncompressed assets to new property
2018-04-05 17:07:55 -04:00
Connor Tumbleson
88987e60b3
aapt2: Add a flag to determine if sparse resources or not
2018-02-22 11:22:40 -05:00
Connor Tumbleson
9fc1ede991
License 2018 update
2018-02-16 08:26:53 -05:00
Connor Tumbleson
a0cd772205
Remove duplicate manifest-only parameter
2017-12-08 16:31:25 -05:00
Nic Allen
88eed24625
Patch APKTool to allow repeated entry offsets to appear
2017-12-07 15:38:25 -08:00
Ruben Anagua
dd81dbfc9c
Add ability to force decoding of manifest
2017-12-07 11:33:04 +00:00
Connor Tumbleson
f0f87c844e
Adds ability to skip asset files
...
- fixes #1605
- prevents rebuild
2017-09-19 15:51:04 -04:00
Connor Tumbleson
1597c12472
changed all license files
2017-07-05 12:05:52 -04:00
Connor Tumbleson
e2f77aac18
Pass exception back to user
...
- check object is not null before closing
- refs #1160
2017-05-05 07:46:56 -04:00
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
Sunil Shivanand
7c1ce8bb6e
Issue 1234 - Use literal value of versionName when used
...
When reference string is used for versionName in AndroidManifest.xml,
fetch the literal value of the referened string in the output apk.
This patch doesnt modify the original apk.
2016-04-28 16:25:42 +02:00
Connor Tumbleson
cd852cd658
Removes SmaliDebugging
...
- fixes #1061
2016-02-27 20:20:53 -05:00