Hi guys.
A few weeks ago I found a way (at least I think so) to unlock the LG Classic to install apps, but I have no way to implement it. So I'll bring up the whole idea here, and if anyone can do something about it - it'll be awesome!
So:
In system\framework
folder there is an app namedlge-res.apk
. If we open it we find in res\values\arrays.xml
an array called 'config_enable_installed'
that contains a list of permissible-to-install apps. You can install any app listed in this array without modification. So the idea is very simple, add more package-names to the arry and replace the existing lge-res with the updated...
And here begins the problem: how to replace the old one with the new?
Idea A: Push the re-compiled app with adb push
command.
Why it does not work: The Classic is completely blocked for editing system files, as far as I have tried. You can see details [Login to see the link].
Idea B: Reinstall the re-compiled app as an update (as [Login to see the link][Login to see the link]).
Why does it not work: To install apk as an update you need:
- that it be signed in the same signature as the old version.
- that all his
classes.dex
will be within him. It is not possible to install an app without its dex
in full.
The system apps arrive with the dex outside them - so that the system loads faster or something like that - it's divided into two files: .odex
and .vdex
.
Fortunately there is a process that can convert these inconvenient files to a normal dex. The process is called deodex, and there are 2 programs that can do it (for Android 8 of course). A. smali-baksmali, B. vdexExtractor.
And here's the big problem: the deodex of the system apps destroys their signature (in short, the signature represents the APK file as it should be, and once we add the dex, the file changes). On 99% of Android devices it would not bother at all, because we can push the system apps with adb which is a trick to skip the signature verification, but our Classic is blocked for that!
If I tried to re-sign the APK (both with testkey.pk8
and with flatform.pk8
) then the signature no longer matched the old APK...
I might have given up here, but still [Login to see the link] somehow managed to update the settings app with this of the LG Rebel 4. Maybe he somehow managed to get LG's specific platform.pk8, or he had another trick...
So if you have an idea how to update this elusive lge-res
, give it a try. You may succeed!
Here are some related files:
[Login to see the link]
[Login to see the link]
[Login to see the link] (Our specific array begins in line 713.)
[Login to see the link]. (I added three new package-names at the end of the array).
[Login to see the link]
Important note: I'm going back to studying this coming Sunday, so I will not be available to try any idea that comes up here, so if you think you have it, try to check by yourself and then tell here if you succeeded or not.