43 lines
2.0 KiB
Markdown
43 lines
2.0 KiB
Markdown
# bejeweled-classic
|
|
|
|
## The 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.
|
|

|
|
|
|
## 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](https://apktool.org/docs/install) (newer versions do work better than what comes from the debian repos)
|
|
> - aapt
|
|
> - adb (optional)
|
|
|
|
1. Download the apk or use the one which comes within this repo (I got it from [apkpure](https://apkpure.com/bejeweled-classic/com.ea.gp.bej3/download))
|
|
2. decompile the apk `apktool d bejeweled_classic_3.8.1.apk -o out`
|
|
3. edit the `out/AndroidManifest.xml` and change in the `<supports-screens>` section the value for the attribute `xlargeScreens` from `false` to `true`
|
|
4. Recompile the apk `apktool b out -o bejeweled_classic_3.8.1_fix.apk`
|
|
5. 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`
|
|
6. Sign the apk `apksigner sign --ks bejeweled-classic.key bejeweled_classic_3.8.1_fix.apk`
|
|
7. Install the `bejeweled_classic_3.8.1_fix.apk` by transfering it to your phone or via adb, make sure to uninstall the existing app beforehand
|
|
|
|
### XML Line
|
|
|
|
```xml
|
|
<supports-screens android:largeScreens="true" android:normalScreens="true" android:requiresSmallestWidthDp="240" android:smallScreens="true" android:xlargeScreens="false"/>
|
|
```
|
|
Needs to be changed to
|
|
```xml
|
|
<supports-screens android:largeScreens="true" android:normalScreens="true" android:requiresSmallestWidthDp="240" android:smallScreens="true" android:xlargeScreens="true"/>
|
|
``` |