2026-07-10 14:49:10 +00:00
2026-06-10 01:58:48 +02:00
2026-07-09 19:24:05 +02:00
2026-07-09 19:24:05 +02:00
2026-07-09 19:24:05 +02:00
2026-07-10 14:49:10 +00:00

bejeweled-classic

The main issue

Bejewled Classic (v3.8.1) has issues with newer high resolution screens, which results in forced landscape mode. In some cases, the inputs are all over the place.

What's different

[v2026.7.7]

  • Changed storage location from /data/app/0/... to /storage/emulated/0/Android/media/com.ea.gp.bej3/ for exposing the savestates and stored settings
  • Added new app version (can be either viewed in app info or ingame in the about menu)

[v2026.6.10]

  • Changed the xlargeScreens from false to true to fix the forced landscape issue

Fix

Download

Download from releases

DIY

Keep in mind that I use linux mint, so some stuff might be a bit different, depending on your distro.

Tools:

  • default-jdk (more specific apksigner is needed)
  • apktool (newer versions do work better than what comes from the debian repos)
  • aapt
  • adb (optional)
  • diff (optional)
  • patch (optional if changes are applied by hand)
  1. Download the apk or use the one which comes within this repo (I got it from apkpure)
  2. decompile the apk apktool d bejeweled_classic_3.8.1.apk -o out
  3. Run sh apply_patch.sh
  4. Generate a key to sign the apk
    • keytool -genkeypair -keystore bejeweled-classic.key -alias mykey -keyalg RSA -keysize 2048 -validity 10000
    • Set a password for the key, for example using openssl rand -hex 20
    • Answer every question, except the organisation (use anything like your nickname or whatever), with a . dot and finally confirm with yes
  5. Recompile and sign the apk with sh recompile_and_sign.sh
    • Alternativly run sh recompile_and_install.sh for directly installing it via adb
  6. Install the bejeweled_classic_fix.apk by transfering it to your phone or via adb, make sure to uninstall the existing app beforehand

Patching

Apply patch

sh apply_patch.sh

Generate changes.patch

Decompile the same APK to ./out_orig/ and do you chancges in ./out/

sh generate_patch_diff.sh

You may want to add a different app version like android:versionCode='18101' android:versionName='3.8.1_2026.7.7' to the AndroidManifest.xml file, otherwise the version which will be displayed in app info will be 3.8.1.

Docker

The docker image contains all needed tools to decompile/compile an APK.

  • Build the image: docker compose build
  • Run the container: docker compose up -d
  • Enter the container: docker compose exec bejeweled-env bash
Description
Fix bejeweled classic android "Classic does not support the current Display size setting and may behave unexpectedly" which forces the app into landscape mode
Readme 75 MiB
2026.7.19 Latest
2026-07-19 16:34:49 +00:00
Languages
Dockerfile 60.3%
Shell 39.7%