Skip to content

Library upgrades and SDK 36 adaptation - #4710

Merged
EmmanuelMess merged 8 commits into
TeamAmaze:hotfix/3.11.3from
TranceLove:feature/lib-minor-upgrades
Sep 21, 2026
Merged

EmmanuelMess merged 8 commits into
TeamAmaze:hotfix/3.11.3from
TranceLove:feature/lib-minor-upgrades

Conversation

@TranceLove

@TranceLove TranceLove commented Aug 14, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Library upgrades and SDK 36 adaptation, to stay with Google Play compliance.

Important: with this PR onward Amaze File Manager will require Android M (6.0) or above.

Changes:

  • Require JDK 21 to build
  • Added Jetifier ignore list. In addition to speed up build time by reducing jars to process, also helped Robolectric tests to pass after library upgrades
  • Upgraded libraries to latest possible version with least changes to codebase as possible
    • Gradle: 8.14.5
    • Kotlin: 2.2.20
    • Android Gradle Plugin: 8.13.2
    • Spotless: 8.9.0
    • AndroidX core: 1.16.0
    • AndroidX fragment: 1.8.9
    • AndroidX appcompat: 1.7.1
    • AndroidX annotation: 1.10.0
    • AndroidX constraint layout: 2.2.2
    • sshj: 0.40.0
    • Bouncy castle: 1.85
    • slf4j: 2.0.19
    • junrar: 8.1.1
    • xz: 1.12
    • zip4j: 2.11.6
    • logback-classic: 1.6.1
    • jsoup: 1.23.1
    • gson: 2.14.0
    • rxjava: 2.2.21
    • acra-core: 5.13.1
    • leak-canary-android: 2.14
    • okHttp: 5.1.0
    • commons-net: 3.13.0
    • kotlin-stdlib-jdk8: 2.2.10
    • espresso: 3.7.0
    • AndroidX Test: 1.7.0
    • AndroidX Test extension: 1.3.0
    • kotlin-coroutine-test: 1.11.0
    • UI automator: 2.4.0
    • mockito: 5.23.0
    • mockk: 1.14.11
    • systembartint: 1.0.4
    • awaitility: 4.3.0
    • glide: 5.0.5
    • apache-mina: 2.2.9
    • apache-sshd: 2.19.0
    • apache-ftpserver: 1.2.1
    • robolectric: 4.16.1
    • glide: 5.0.7
    • Google Play Billing: 9.1.0
  • With junrar upgrade, enabled support of newer RAR archives, up to v7
  • Fixed test cases with library upgrades

Automatic tests

  • Added unit tests for specific individual functions
  • Added headless tests for new app functionality
  • Added emulator tests for new UI elements

Manual tests

  • Done

  • Device:

  • OS:

Build tasks success

Successfully running following tasks on local:

  • ./gradlew assembledebug
  • ./gradlew spotlessCheck

Generative code

  • This PR used generative code tools (GenAI, LLMs, etc.)

AI was stepped in on solving issues with Robolectric unit tests.

  • Model: GPT Codex
  • Version: 5.3
  • Provider: Github Copilot

@TranceLove

Copy link
Copy Markdown
Collaborator Author

Pending: smoke test

Build passed and test passed, but app itself is not tested yet :(

@TranceLove
TranceLove requested review from EmmanuelMess and VishnuSanal and removed request for EmmanuelMess September 3, 2026 15:18
@TranceLove
TranceLove marked this pull request as ready for review September 3, 2026 15:18
@EmmanuelMess EmmanuelMess added the PR-Requested-Changes this PR is awaiting an update from the author label Sep 4, 2026
@EmmanuelMess

Copy link
Copy Markdown
Member

Remember this PR needs to be remerged to release/4.0 after it is merged to hotfix.

@TranceLove
TranceLove force-pushed the feature/lib-minor-upgrades branch 2 times, most recently from 52178a7 to ff84ca6 Compare September 5, 2026 03:54
Comment thread app/src/main/res/values/strings.xml
For easing the effort on migrating to SDK 36.

Upgraded:
- Gradle: 8.14.5
- Kotlin: 2.2.20
- JDK: 21
- Android Gradle Plugin: 8.13.2
- Spotless: 8.9.0
- AndroidX core: 1.16.0
- AndroidX fragment: 1.8.9
- AndroidX appcompat: 1.7.1
- AndroidX annotation: 1.10.0
- AndroidX constraint layout: 2.2.2
- sshj: 0.40.0
- Bouncy castle: 1.85
- slf4j: 2.0.18
- junrar: 8.1.0, also enables support of RARv5
- xz: 1.12
- zip4j: 2.11.6
- logback-classic: 1.6.1
- jsoup: 1.23.1
- gson: 2.14.0
- rxjava: 2.2.21
- acra-core: 5.13.1
- leak-canary-android: 2.14
- okHttp: 5.1.0
- commons-net: 3.13.0
- kotlin-stdlib-jdk8: 2.2.10
- espresso: 3.7.0
- AndroidX Test: 1.7.0
- AndroidX Test extension: 1.3.0
- kotlin-coroutine-test: 1.11.0
- UI automator: 2.4.0
- mockito: 5.23.0
- mockk: 1.14.11
- systembartint: 1.0.4
- awaitility: 4.3.0
- glide: 5.0.5
- apache-mina: 2.2.9
- apache-sshd: 2.19.0
- apache-ftpserver: 1.2.1
- robolectric: 4.15
Also add bytebuddy to jetifier ignore list
For preparation to Robolectric 4.16
Also upgraded libraries:

- Robolectric: 4.16.1
- Glide: 5.0.7
- Bouncy Castle 1.85.2
- Google Play Android Billing: 9.1.0
Per recommendation for proper source management
- ZipHelperCallable throws ArchiveException right away upon processing zero byte zips
- i18n string name update: error_unsupported_v5_rar -> error_unsupported_rar_version
- bump slf4j and junrar dependencies
- Refactorings to ZipHelperCallable for better exception logic
Remove string resource error_unsupported_v5_rar with error_unsupported_rar
@TranceLove
TranceLove force-pushed the feature/lib-minor-upgrades branch from 5a15c10 to 55b2734 Compare September 15, 2026 08:03
@EmmanuelMess EmmanuelMess added PR-Code-Review-Passed The human code review has passed for this PR. and removed PR-Requested-Changes this PR is awaiting an update from the author labels Sep 20, 2026

@EmmanuelMess EmmanuelMess left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review passes.
I am getting an error when uncompressing the test rar's in the repo on the FDroid build. Is the Play store build still needed for RAR files?

@TranceLove

Copy link
Copy Markdown
Collaborator Author

I am getting an error when uncompressing the test rar's in the repo on the FDroid build.

Which file exactly?

Is the Play store build still needed for RAR files?

I suppose yes? Fdroid flavor was created without RAR support since its compression algorithm is not opensource friendly.

@EmmanuelMess EmmanuelMess added the PR-Manual-Testing-Passed The manual tests, performed by a human on a working build of this PR, passed for this PR. label Sep 21, 2026
@EmmanuelMess

Copy link
Copy Markdown
Member

Tested the decompression on emulator, this passes.

@EmmanuelMess
EmmanuelMess merged commit 1da3c5f into TeamAmaze:hotfix/3.11.3 Sep 21, 2026
4 checks passed
@EmmanuelMess
EmmanuelMess deleted the feature/lib-minor-upgrades branch September 21, 2026 21:11
@EmmanuelMess

Copy link
Copy Markdown
Member

Remember this PR needs to be remerged to release/4.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR-Code-Review-Passed The human code review has passed for this PR. PR-Manual-Testing-Passed The manual tests, performed by a human on a working build of this PR, passed for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants