Commit Graph

2185 Commits

Author SHA1 Message Date
Igor Eisberg
7033f4ee2f
feat: support building with compact entries (#3708)
Some checks failed
Analyze / Analyze (push) Has been cancelled
CI / analyze-mac-aapt (aapt2_64) (push) Has been cancelled
CI / analyze-mac-aapt (aapt_64) (push) Has been cancelled
CI / analyze-linux-aapt (aapt) (push) Has been cancelled
CI / analyze-linux-aapt (aapt2) (push) Has been cancelled
CI / analyze-linux-aapt (aapt2_64) (push) Has been cancelled
CI / analyze-linux-aapt (aapt_64) (push) Has been cancelled
CI / analyze-windows-aapt (aapt.exe) (push) Has been cancelled
CI / analyze-windows-aapt (aapt2.exe) (push) Has been cancelled
CI / analyze-windows-aapt (aapt2_64.exe) (push) Has been cancelled
CI / analyze-windows-aapt (aapt_64.exe) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, macOS-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, ubuntu-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, windows-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, macOS-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, ubuntu-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, windows-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, macOS-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, ubuntu-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, windows-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, macOS-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, ubuntu-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, windows-latest) (push) Has been cancelled
CI / Build apktool.jar (push) Has been cancelled
Pretty straightforward change. The motivation is to reproduce the original
structure of the source APK. If it's built with compact resource entries -
then rebuild with compact resource entries.
2024-10-04 09:38:45 -04:00
Igor Eisberg
24541c3943
fix: decoding APK with many compact entries and unknown uses-sdk attrs (#3705)
* fix: decoding APK with many compact entries and unknown uses-sdk attrs

This fixes 2 new issues with a stock APK sourced from an Android 15 ROM.

https://drive.google.com/file/d/1x9udLN4W5I7chyGp1ZY8Cyfhu1vXezU9/view

1) mIn.readShort() for size in readEntryData is incorrect and the size < 0 check is not possible.
   Entry size is stored by AAPT2 as an unsigned short and thus will never be negative.
   Reading it as a signed short will cause negative entry sizes in compactly packed entries in
   very large string pools and will result in a lot of "APKTOOL_DUMMYVAL_" values.

2) sdkInfo isn't stored properly for APKs with unexpected properties in uses-sdk tag.
   As far as I can tell, these attributes serve no purpose and can be ignored.
   In the given APK, additional "android:versionCode" and "android:versionName" attributes appear
   in the uses-sdk tag, purpose unknown and they don't represent the actual version of the app.

   E: uses-sdk (line=26)
     A: http://schemas.android.com/apk/res/android:minSdkVersion(0x0101020c)=35
     A: http://schemas.android.com/apk/res/android:versionCode(0x0101021b)=31
     A: http://schemas.android.com/apk/res/android:versionName(0x0101021c)="3.1"
     A: http://schemas.android.com/apk/res/android:targetSdkVersion(0x01010270)=35

* test: add assertion for issue 3705

---------

Co-authored-by: Connor Tumbleson <connor.tumbleson@gmail.com>
Co-authored-by: Connor Tumbleson <iBotPeaches@users.noreply.github.com>
2024-10-04 08:58:32 -04:00
Igor Eisberg
5c99919d94
new: featureFlags support for SDK 35 apps (#3706)
Some checks are pending
Analyze / Analyze (push) Waiting to run
CI / analyze-mac-aapt (aapt2_64) (push) Waiting to run
CI / analyze-mac-aapt (aapt_64) (push) Waiting to run
CI / analyze-linux-aapt (aapt) (push) Waiting to run
CI / analyze-linux-aapt (aapt2) (push) Waiting to run
CI / analyze-linux-aapt (aapt2_64) (push) Waiting to run
CI / analyze-linux-aapt (aapt_64) (push) Waiting to run
CI / analyze-windows-aapt (aapt.exe) (push) Waiting to run
CI / analyze-windows-aapt (aapt2.exe) (push) Waiting to run
CI / analyze-windows-aapt (aapt2_64.exe) (push) Waiting to run
CI / analyze-windows-aapt (aapt_64.exe) (push) Waiting to run
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, windows-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, windows-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, windows-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, windows-latest) (push) Blocked by required conditions
CI / Build apktool.jar (push) Blocked by required conditions
* new: featureFlags support for SDK 35 apps

This records all featureFlag attrs that were enabled when the APK was originally built.
This is now required by AAPT2 to pass these flags and their enabled/disabled state if
they are used in AndroidManifest.xml.
The flags are recorded to apktool.yml and can be configured, if so desired.
In normal usage, all flags should remain set to true (i.e. enabled).
Sample APK sourced from AOSP Android 15.

https://drive.google.com/file/d/1av7Ih7-YUXi73Hf0E3xlPv-V-nE_sXdt/view

* test: adapt testapp for featureFlag
2024-10-03 17:10:02 -04:00
Igor Eisberg
03a7c67082
clean up tab intendation (#3707) 2024-10-03 13:58:44 -04:00
dependabot[bot]
111a95f369
build(deps): bump com.google.guava:guava from 33.3.0-jre to 33.3.1-jre (#3703)
Bumps [com.google.guava:guava](https://github.com/google/guava) from 33.3.0-jre to 33.3.1-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-03 07:13:10 -04:00
dependabot[bot]
495af67707
build(deps): bump commons-io:commons-io from 2.16.1 to 2.17.0 (#3701)
Bumps commons-io:commons-io from 2.16.1 to 2.17.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-03 07:02:40 -04:00
Igor Eisberg
4de92a23ae
refactor: ApkDecoder & ApkBuilder overhaul (#3699)
* refactor: ApkDecoder & ApkBuilder overhaul

A major rewrite of ApkDecoder and ApkBuilder classes to make them managable.
Removed many instances of redundancy and improved syntaxed and indentation.

Modifying the stock Apktool source to our needs have become too difficult,
so I'm pushing the general (not specific to our needs) changes upstream.

I'd change a lot more, but I wanted to make sure all tests pass as expected,
despite some of them being wierd, outdated or unnecessary.

This also fixes certain files in META-INF being lost during recompile
when the -c/--copy-original option isn't used.

This has been tweaked and tested for several days and I vouch for its stablity.

* style: fix more redundancy

* style: fix more redundancy

* tweak: consistent case-sensitivity for cmd and options

* refactor: tracking unknownFiles via apkInfo is redundant

1) We take advantage of the fact that doNotCompress already tracks uncompressed files,
   including those separated into "unknown".
   With this change the "unknownFiles" is simply ignored, so it's backward-compatible
   with existing decoded APK dirs.
   Tweaked a few tests to match the removal of "unknownFiles".

2) Passing doNotCompress to AAPT is redundant, Apktool extracts the temp APK packed by
   AAPT to build/apk and then repackages it anyway, so it serves no purpose.

* refactor: fix minSdkVersion from baksmali + clean up more redundancy

* Regression: minSdkVersion inferred from baksmali was not stored properly.

* The arsc extension can be generalized for simplicity as seen in AOSP source.
https://cs.android.com/android/platform/superproject/main/+/main:external/deqp/scripts/android/build_apk.py;l=644?q=apk%20pack&ss=android%2Fplatform%2Fsuperproject%2Fmain:external%2F
  Note:
    NO_COMPRESS_EXT_PATTERN only collapses paths to a common extension.
    It does NOT force these extensions to be always uncompressed.
    doNotCompress is the one determining files/extensions that should be uncompressed.
  (no funcionality was changed)

* resourcesAreCompressed in apkInfo is redundant. It was only used in invokeAapt,
  but not ApkBuilder. Its value is also never set by Apktool, only read.
  Like with doNotCompress, passing any kind of compression rules to AAPT is pointless,
  since we don't use the temp APK packed by AAPT directly - it's extracted and repacked
  by ApkBuilder, where doNotCompress already determines whether resources.arsc should
  or should not be compressed in the final APK.
  (no funcionality was changed)

* style: optional args come after required args

* style: optional args come after required args

* style: sdkInfo as a normal field for consistency

* style: some formatting tweaks
2024-10-03 06:52:59 -04:00
Connor Tumbleson
c6bb75e540
API 35 Preview - Vanilla Ice Cream (#3696)
Some checks failed
Analyze / Analyze (push) Failing after 0s
CI / analyze-linux-aapt (aapt) (push) Failing after 0s
CI / analyze-linux-aapt (aapt2) (push) Failing after 0s
CI / analyze-linux-aapt (aapt2_64) (push) Failing after 0s
CI / analyze-linux-aapt (aapt_64) (push) Failing after 0s
CI / analyze-mac-aapt (aapt2_64) (push) Has been cancelled
CI / analyze-mac-aapt (aapt_64) (push) Has been cancelled
CI / analyze-windows-aapt (aapt.exe) (push) Has been cancelled
CI / analyze-windows-aapt (aapt2.exe) (push) Has been cancelled
CI / analyze-windows-aapt (aapt2_64.exe) (push) Has been cancelled
CI / analyze-windows-aapt (aapt_64.exe) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, macOS-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, ubuntu-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, windows-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, macOS-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, ubuntu-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, windows-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, macOS-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, ubuntu-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, windows-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, macOS-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, ubuntu-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, windows-latest) (push) Has been cancelled
CI / Build apktool.jar (push) Has been cancelled
* fix: support API 35 as Vanilla Ice Cream

* feat: update internal framework to API 35 preview (Vanilla Ice Cream)

* chore: SDK_CUR_DEVELOPMENT is 10,000
2024-09-18 07:16:33 -04:00
Connor Tumbleson
674bb4208a
build: start new dev cycle (2.10.1-SNAPSHOT)
Some checks failed
CI / analyze-mac-aapt (aapt2_64) (push) Waiting to run
CI / analyze-mac-aapt (aapt_64) (push) Waiting to run
CI / analyze-windows-aapt (aapt.exe) (push) Waiting to run
CI / analyze-windows-aapt (aapt2.exe) (push) Waiting to run
CI / analyze-windows-aapt (aapt2_64.exe) (push) Waiting to run
CI / analyze-windows-aapt (aapt_64.exe) (push) Waiting to run
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, windows-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, windows-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, windows-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, windows-latest) (push) Blocked by required conditions
CI / Build apktool.jar (push) Blocked by required conditions
Analyze / Analyze (push) Failing after 0s
CI / analyze-linux-aapt (aapt) (push) Failing after 0s
CI / analyze-linux-aapt (aapt2) (push) Failing after 0s
CI / analyze-linux-aapt (aapt2_64) (push) Failing after 0s
CI / analyze-linux-aapt (aapt_64) (push) Failing after 0s
2024-09-17 07:06:06 -04:00
Connor Tumbleson
644f114688
build: version bump (2.10.0) 2024-09-16 20:09:59 -04:00
Connor Tumbleson
6d1017eadf
fix: allow maven to publish without implicit task ordering (#3693)
Some checks failed
CI / analyze-mac-aapt (aapt2_64) (push) Waiting to run
CI / analyze-mac-aapt (aapt_64) (push) Waiting to run
CI / analyze-windows-aapt (aapt.exe) (push) Waiting to run
CI / analyze-windows-aapt (aapt2.exe) (push) Waiting to run
Analyze / Analyze (push) Failing after 0s
CI / analyze-linux-aapt (aapt) (push) Failing after 0s
CI / analyze-linux-aapt (aapt2) (push) Failing after 0s
CI / analyze-linux-aapt (aapt2_64) (push) Failing after 0s
CI / analyze-linux-aapt (aapt_64) (push) Failing after 0s
CI / analyze-windows-aapt (aapt2_64.exe) (push) Has been cancelled
CI / analyze-windows-aapt (aapt_64.exe) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, macOS-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, ubuntu-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, windows-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, macOS-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, ubuntu-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, windows-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, macOS-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, ubuntu-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, windows-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, macOS-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, ubuntu-latest) (push) Has been cancelled
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, windows-latest) (push) Has been cancelled
CI / Build apktool.jar (push) Has been cancelled
2024-09-16 20:09:12 -04:00
dependabot[bot]
1d6e328de0
build(deps): bump gradle/actions from 4.0.1 to 4.1.0 (#3692)
Some checks failed
CI / analyze-mac-aapt (aapt2_64) (push) Waiting to run
CI / analyze-mac-aapt (aapt_64) (push) Waiting to run
CI / analyze-windows-aapt (aapt.exe) (push) Waiting to run
CI / analyze-windows-aapt (aapt2.exe) (push) Waiting to run
CI / analyze-windows-aapt (aapt2_64.exe) (push) Waiting to run
CI / analyze-windows-aapt (aapt_64.exe) (push) Waiting to run
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, windows-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, windows-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, windows-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, windows-latest) (push) Blocked by required conditions
CI / Build apktool.jar (push) Blocked by required conditions
Analyze / Analyze (push) Failing after 0s
CI / analyze-linux-aapt (aapt) (push) Failing after 0s
CI / analyze-linux-aapt (aapt2) (push) Failing after 0s
CI / analyze-linux-aapt (aapt2_64) (push) Failing after 0s
CI / analyze-linux-aapt (aapt_64) (push) Failing after 0s
Bumps [gradle/actions](https://github.com/gradle/actions) from 4.0.1 to 4.1.0.
- [Release notes](https://github.com/gradle/actions/releases)
- [Commits](https://github.com/gradle/actions/compare/v4.0.1...v4.1.0)

---
updated-dependencies:
- dependency-name: gradle/actions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-16 06:03:20 -04:00
Connor Tumbleson
609896fb7c
build: upgrade to smali/baksmali 3.0.8 (#3690)
Some checks failed
CI / analyze-mac-aapt (aapt2_64) (push) Waiting to run
CI / analyze-mac-aapt (aapt_64) (push) Waiting to run
CI / analyze-windows-aapt (aapt.exe) (push) Waiting to run
CI / analyze-windows-aapt (aapt2.exe) (push) Waiting to run
CI / analyze-windows-aapt (aapt2_64.exe) (push) Waiting to run
CI / analyze-windows-aapt (aapt_64.exe) (push) Waiting to run
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (11, windows-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (17, windows-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (21, windows-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, macOS-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, ubuntu-latest) (push) Blocked by required conditions
CI / Build/Test (JDK ${{ matrix.java }}, ${{ matrix.os }}) (8, windows-latest) (push) Blocked by required conditions
CI / Build apktool.jar (push) Blocked by required conditions
Analyze / Analyze (push) Failing after 0s
CI / analyze-linux-aapt (aapt) (push) Failing after 0s
CI / analyze-linux-aapt (aapt2) (push) Failing after 0s
CI / analyze-linux-aapt (aapt2_64) (push) Failing after 0s
CI / analyze-linux-aapt (aapt_64) (push) Failing after 0s
2024-09-15 07:33:40 -04:00
dependabot[bot]
2ff81eb55f
build(deps): bump com.google.guava:guava from 32.0.1-jre to 33.3.0-jre (#3670)
* build(deps): bump com.google.guava:guava from 32.0.1-jre to 33.3.0-jre

Bumps [com.google.guava:guava](https://github.com/google/guava) from 32.0.1-jre to 33.3.0-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: fix r8 warning on RetainedWith

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Connor Tumbleson <connor.tumbleson@gmail.com>
2024-09-07 14:45:55 -04:00
codebymikey
5974d7477e
Add ability to automatically pick up latest apktool.jar version (#3683) 2024-09-06 06:30:56 -04:00
Connor Tumbleson
c5dbcd6532
feat: update internal framework to API 34 (Vanilla Ice Cream) (#3681) 2024-09-03 06:45:08 -04:00
dependabot[bot]
0a4a609b96
build(deps): bump org.apache.commons:commons-lang3 from 3.16.0 to 3.17.0 (#3680)
Bumps org.apache.commons:commons-lang3 from 3.16.0 to 3.17.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-lang3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-03 06:00:14 -04:00
dependabot[bot]
56bcbac8ff
build(deps): bump gradle/actions from 4.0.0 to 4.0.1 (#3679)
Bumps [gradle/actions](https://github.com/gradle/actions) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/gradle/actions/releases)
- [Commits](https://github.com/gradle/actions/compare/v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: gradle/actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 18:57:40 -04:00
Alex Popov
fa687855f2
Remove tabs in linux script (#3676) 2024-08-30 06:41:22 -04:00
Connor Tumbleson
62ad27a561
test(aapt2) - add foregroundServiceType test (#3674) 2024-08-20 06:50:46 -04:00
dependabot[bot]
cc86d20d64
build(deps): bump commons-cli:commons-cli from 1.8.0 to 1.9.0 (#3672)
Bumps commons-cli:commons-cli from 1.8.0 to 1.9.0.

---
updated-dependencies:
- dependency-name: commons-cli:commons-cli
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-19 06:45:16 -04:00
dependabot[bot]
5faa2868bd
build(deps): bump com.android.tools:r8 from 8.3.37 to 8.5.35 (#3671)
Bumps com.android.tools:r8 from 8.3.37 to 8.5.35.

---
updated-dependencies:
- dependency-name: com.android.tools:r8
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-19 06:38:48 -04:00
dependabot[bot]
055052c429
build(deps): bump org.apache.commons:commons-lang3 from 3.15.0 to 3.16.0 (#3663)
Bumps org.apache.commons:commons-lang3 from 3.15.0 to 3.16.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-lang3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-13 06:48:56 -04:00
dependabot[bot]
9976796592
build(deps): bump gradle/actions from 3.5.0 to 4.0.0 (#3662)
Bumps [gradle/actions](https://github.com/gradle/actions) from 3.5.0 to 4.0.0.
- [Release notes](https://github.com/gradle/actions/releases)
- [Commits](https://github.com/gradle/actions/compare/v3.5.0...v4.0.0)

---
updated-dependencies:
- dependency-name: gradle/actions
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-13 06:31:19 -04:00
luk1337
9ebd579475
Sort files list in FileDirectory::loadAll() (#3657)
This lets us assemble classes.dex in a reproducible manner.

Test:
  apktool d test.apk > /dev/null
  apktool b test > /dev/null
  sha1sum test/build/apk/classes.dex
  apktool -f d test.apk > /dev/null
  apktool b test > /dev/null
  sha1sum test/build/apk/classes.dex
2024-08-12 19:17:50 -04:00
Connor Tumbleson
7ad1c9f9b4
Refresh aapt2 binaries. (#3651)
* docs: align internal docs for modern aapt2 build

* build: update aapt2 with win/linux binaries

* build: update aapt2 with mac binaries
2024-08-01 08:12:29 -04:00
dependabot[bot]
b14f5eef8f
build(deps): bump gradle/actions from 3.4.2 to 3.5.0 (#3648)
Bumps [gradle/actions](https://github.com/gradle/actions) from 3.4.2 to 3.5.0.
- [Release notes](https://github.com/gradle/actions/releases)
- [Commits](https://github.com/gradle/actions/compare/v3.4.2...v3.5.0)

---
updated-dependencies:
- dependency-name: gradle/actions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-22 19:46:41 -04:00
dependabot[bot]
202a7e84b4
build(deps): bump org.apache.commons:commons-lang3 from 3.14.0 to 3.15.0 (#3647)
Bumps org.apache.commons:commons-lang3 from 3.14.0 to 3.15.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-lang3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-22 19:40:06 -04:00
Aleksey
1542fd0387
Fix: add missing stream closing on manifest disassemble (#3634)
* add missing stream closing

* replace custom close with apache
2024-07-08 06:27:28 -04:00
dependabot[bot]
71748d6fd4
build(deps): bump gradle/actions from 3.4.1 to 3.4.2 (#3628)
Bumps [gradle/actions](https://github.com/gradle/actions) from 3.4.1 to 3.4.2.
- [Release notes](https://github.com/gradle/actions/releases)
- [Commits](https://github.com/gradle/actions/compare/v3.4.1...v3.4.2)

---
updated-dependencies:
- dependency-name: gradle/actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-24 06:45:59 -04:00
dependabot[bot]
98580287c6
build(deps): bump gradle/actions from 3.3.2 to 3.4.1 (#3624)
Bumps [gradle/actions](https://github.com/gradle/actions) from 3.3.2 to 3.4.1.
- [Release notes](https://github.com/gradle/actions/releases)
- [Commits](https://github.com/gradle/actions/compare/v3.3.2...v3.4.1)

---
updated-dependencies:
- dependency-name: gradle/actions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 06:23:39 -04:00
Al Sutton
c294e014e0
Resolve a resource leak where the ZipFile is not closed (#3618)
If th zip entry for resources.arsc is not found an exception is
thrown, but the ZipFile is not closed. Using try-with-resources
means that the ZipFile will always be closed irrespective of how
the code block exits.
2024-06-11 06:42:47 -04:00
tutacat
4d857dbff4
readme: Improve link title and wording for (#3611) 2024-05-31 06:11:09 -04:00
dependabot[bot]
d9deea2514
build(deps): bump commons-cli:commons-cli from 1.7.0 to 1.8.0 (#3607)
Bumps commons-cli:commons-cli from 1.7.0 to 1.8.0.

---
updated-dependencies:
- dependency-name: commons-cli:commons-cli
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-27 09:51:31 -04:00
Connor Tumbleson
5c1716ffef
Workaround invalid org.xmlpull loader with R8 (#3604)
* build: move to semi-modern xmlpull version

* fix: prevent stripping invalid service loader

* fix: rework the 'release'/'publish' plan
2024-05-17 19:43:30 -04:00
Connor Tumbleson
6b986e9a45
build: move to modern gradle actions (#3594) 2024-05-16 06:41:59 -04:00
Connor Tumbleson
6079f852fc
build: jump to smali/baksmali 3.0.7 (#3601) 2024-05-16 06:29:07 -04:00
Arjuna Kumar Mohanta
d52715d1da
feat: Upgrade gradle to v8.7 (#3595) 2024-05-14 06:35:21 -04:00
Connor Tumbleson
cc501d05a5
fix: remove enforcement on aligned namespaces (#3587) 2024-05-03 06:41:40 -04:00
Connor Tumbleson
53aa743014
build: support kotlin during CodeQL processing 2024-04-29 06:47:11 -04:00
dependabot[bot]
b272705da2
build(deps): bump gradle/actions from 3.3.1 to 3.3.2 (#3586)
Bumps [gradle/actions](https://github.com/gradle/actions) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/gradle/actions/releases)
- [Commits](https://github.com/gradle/actions/compare/v3.3.1...v3.3.2)

---
updated-dependencies:
- dependency-name: gradle/actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-29 06:38:30 -04:00
dependabot[bot]
938d1730f0
build(deps): bump org.xmlunit:xmlunit-legacy from 2.9.1 to 2.10.0 (#3585)
Bumps [org.xmlunit:xmlunit-legacy](https://github.com/xmlunit/xmlunit) from 2.9.1 to 2.10.0.
- [Release notes](https://github.com/xmlunit/xmlunit/releases)
- [Changelog](https://github.com/xmlunit/xmlunit/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/xmlunit/xmlunit/compare/v2.9.1...v2.10.0)

---
updated-dependencies:
- dependency-name: org.xmlunit:xmlunit-legacy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-29 06:29:56 -04:00
Connor Tumbleson
a2df2541e7
fix: properly record compression of non-main classes.dex files (#3584) 2024-04-26 07:19:43 -04:00
Pavel
6436e7c090
Correct wording in CLI usage messages (#3579)
Co-authored-by: ProgerXP <proger.xp@gmail.com>
2024-04-26 05:59:52 -04:00
dependabot[bot]
fbe717f793
build(deps): bump commons-cli:commons-cli from 1.6.0 to 1.7.0 (#3577)
Bumps commons-cli:commons-cli from 1.6.0 to 1.7.0.

---
updated-dependencies:
- dependency-name: commons-cli:commons-cli
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 07:16:12 -04:00
dependabot[bot]
edd3323ac3
build(deps): bump org.apache.commons:commons-text from 1.11.0 to 1.12.0 (#3576)
Bumps org.apache.commons:commons-text from 1.11.0 to 1.12.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-text
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 06:55:25 -04:00
dependabot[bot]
1a9713653c
build(deps): bump gradle/actions from 3.3.0 to 3.3.1 (#3575)
Bumps [gradle/actions](https://github.com/gradle/actions) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/gradle/actions/releases)
- [Commits](https://github.com/gradle/actions/compare/v3.3.0...v3.3.1)

---
updated-dependencies:
- dependency-name: gradle/actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 06:54:34 -04:00
dependabot[bot]
a2c2d011ff
build(deps): bump gradle/wrapper-validation-action from 2.1.2 to 3.3.0 (#3572)
* build(deps): bump gradle/wrapper-validation-action from 2.1.2 to 3.3.0

Bumps [gradle/wrapper-validation-action](https://github.com/gradle/wrapper-validation-action) from 2.1.2 to 3.3.0.
- [Release notes](https://github.com/gradle/wrapper-validation-action/releases)
- [Commits](https://github.com/gradle/wrapper-validation-action/compare/v2.1.2...v3.3.0)

---
updated-dependencies:
- dependency-name: gradle/wrapper-validation-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* build: move to 'gradle/actions/wrapper-validation'

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Connor Tumbleson <connor.tumbleson@gmail.com>
2024-04-16 06:35:20 -04:00
dependabot[bot]
f253142828
build(deps): bump gradle/actions from 3.2.0 to 3.3.0 (#3571)
Bumps [gradle/actions](https://github.com/gradle/actions) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/gradle/actions/releases)
- [Commits](https://github.com/gradle/actions/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: gradle/actions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 06:16:38 -04:00
dependabot[bot]
89548038b9
build(deps): bump commons-io:commons-io from 2.16.0 to 2.16.1 (#3570)
Bumps commons-io:commons-io from 2.16.0 to 2.16.1.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 06:10:16 -04:00